Re: Userform, Liste déroulante dépendante sans doublon | ||
---|---|---|
Inscription: 18/05/2006
De Saône-et-Loire (71)
Messages:
1539
Système d'exploitation: PC Version Excel utilisée: 97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365 |
Posté le : 28-01-2021 17h46
Bonjour Theo44,
Tu trouveras en pièce jointe peut-être une façon de faire pour répondre à ton besoin.
J'ai tout d'abord créé la Function suivante :
DANS LE MODULE DE CODE DU USERFORM Private Function defListeTiers(valTC As String) As Variant
Puis, j'ai aujouté une procédure évènementielle, laquelle est déclenchée par tout changement de valeur dans la liste de choix "Type contrat" :
Private Sub L_TC_Change()
Attention cependant : pour être sûr que le fonctionnement soit fiable, il te faut impérativement modifier la propriété "Style" de tes ComboBox sur "fmStyleDropDownList" (qui n'est pas la valeur par défaut). Ca permet d'obliger l'utilisateur à faire un choix existant dans la liste, et l'empeche de saisir une autre valeur non proposée. C'est ce que j'ai fait pour tes 2 ComboBox "L_TC" et "L_Tiers".
J'ai tenté de commenter au maximum le code utilisé pour que tu puisses le comprendre au mieux.
Par ailleurs, (et j'aurai dû commencer par ça), je me permets 2 conseils concernant ton code :
En espérant que ça puisse t'inspirer pour la suite de ton projet...
Bien cordialement,
Didier_mDF
Le Webmaster La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien |
|
|
Re: Afficher une msgbox | ||
---|---|---|
Inscription: 18/05/2006
De Saône-et-Loire (71)
Messages:
1539
Système d'exploitation: PC Version Excel utilisée: 97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365 |
Posté le : 27-01-2021 00h53
Re, Citation : Parafun a écrit : En fait, c'est un peu ce dont je te parlais dans mon premier post ci-dessus : si je décide qu'il faut cliquer sur un bouton, alors faut-il que le code parcourt tout le tableau et recherche, ligne après ligne, la présence de doublons ? Dans l'affirmative : en cas de présence de multiples doublons (selon la taille du tableau), l'utilisateur risque fort de subir une overdose de MsgBox d'alerte en cascade, non ?
Didier_mDF
Le Webmaster La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien |
|
|
Re: Userform, Liste déroulante dépendante sans doublon | ||
---|---|---|
Inscription: 18/05/2006
De Saône-et-Loire (71)
Messages:
1539
Système d'exploitation: PC Version Excel utilisée: 97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365 |
Posté le : 26-01-2021 17h22
Bonjour Théo, et bienvenue sur mDF-XLpages.com Maintenant je chercher à lié la liste T_Tiers au résultat de la selection de la 1ére liste L_TC le lien étant effectué colonne J.
Sinon, ce n'est pas facile de comprendre exactement ce que tu cherches à faire...
Peut-être que ces plages nommés sont variables et vont évoluées dans le temps ?
Didier_mDF
Le Webmaster La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien |
|
|
Re: Afficher une msgbox | ||
---|---|---|
Inscription: 18/05/2006
De Saône-et-Loire (71)
Messages:
1539
Système d'exploitation: PC Version Excel utilisée: 97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365 |
Posté le : 26-01-2021 17h02
Bonjour Parafun, le Forum, En fait, ta procédure VBA pourrait être de ce type : Private Sub Worksheet_SelectionChange(ByVal Target As Range) ... c'est ce qu'on appelle une procédure "évènementielle" et qui se lance automatiquement lorsque l'utilisateur déplace la sélection d'une cellule à une autre. Cela signifie qu'à chaque fois que le curseur est déplacé dans la feuille, ton code se lance ! Sinon, ta procédure VBA pourrait être de ce type : Sub Alerte() ... ce qui est utilisable, par exemple, si tu décides de lancer ton code via un clic sur un objet bouton notamment. Tu as donc 2 types de procédures différentes utilisables, mais en aucun cas, il ne faut imbriquer les 2, l'une dans l'autre comme tu l'as fait. C'est soit l'une, soit l'autre. Dans l'exemple que je t'ai préparé (voir pièce jointe), j'ai opté pour la 2ème façon de faire avec une procédure "Sub Alerte()" placée dans un module de code standard et liée à un bouton "DETECTION DOUBLONS" sur ta feuille. Bien évidemment, il existe des façons de faire beaucoup plus optimisées et bien plus rapides, mais il me semble que le code VBA suivant te sera très simple à comprendre : DANS UN MODULE DE CODE STANDARD (ex. Module1) Option Explicit En espérant que ça puisse te dépanner.
Didier_mDF
Le Webmaster La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien |
|
|
Re: Afficher une msgbox | ||
---|---|---|
Inscription: 18/05/2006
De Saône-et-Loire (71)
Messages:
1539
Système d'exploitation: PC Version Excel utilisée: 97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365 |
Posté le : 23-01-2021 00h48
Bonsoir Parafun et bienvenue sur mDF-XLpages.com.
Ta question semble être simple, mais selon moi, elle demande cependant quelques éclaircissements et points de réflexion...
Pour tout traitement VBA, la première question à se poser, c'est : quel évènement (ou quelle action) devra déclencher mon code ?
La présence de doublons dans un tableau n'est pas un évènement en soi. Par évènement, il faut entendre un fait générateur, une action ou un changement d'état qui servira de point de départ pour déclencher ton programme. Une fois déclenché, ton code pourra ensuite analyser tes cellules et, le cas échéant, t'avertir par un message d'alerte. Mais avant toutes choses, il faut trouver le déclencheur.
La détection de tes valeurs doublons (impliquant l'affichage du message d'alerte éventuel) doit-elle être déclenchée par :
La deuxième étape, consiste ensuite à définir la façon dont le code devra agir et son déroulement : Par exemple : si je décide qu'il faut cliquer sur un bouton, alors faut-il que le code parcourt tout le tableau et recherche, ligne après ligne, la présence de doublons ? Dans l'affirmative : en cas de présence de multiples doublons (selon la taille du tableau), l'utilisateur risque fort de subir une overdose de MsgBox d'alerte en cascade, non ?
Ensuite, n'aurais-tu pas inversé la logique dans ton énoncé ?
Pour moi, c'est l'inverse : si les éléments sont différents, alors ils ne s'agit justement pas de doublons.
Je pense qu'il serait préférable que tu joignes un fichier exemple (très simplifié) de ce que tu souhaiterais obtenir (voir la FAQ : Comment joindre un fichier dans le Forum ?" au besoin). N'hésite pas à donner plus de détails.
Bien cordialement, Didier_mDF
Le Webmaster La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien |
|
|
Re: mDF XLdoublons | ||
---|---|---|
Inscription: 18/05/2006
De Saône-et-Loire (71)
Messages:
1539
Système d'exploitation: PC Version Excel utilisée: 97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365 |
Posté le : 08-12-2020 19h03
Bonjour alienus120, le Forum,
Oui, tu as tout à fait raison! Et pour te dire la vérité - faute de temps - je suis comme toi et cet outil me manque énormément car j'en ai souvent besoin dans le cadre de mes activités diverses.
Depuis quelques temps, je travaille sur une nouvelle version qui devrait pouvoir (enfin) être compatible avec les versions actuelles Excel (et en particulier, les versions 64bits !). En effet, certains composants ne sont plus accessibles en environnement 64bits et Microsoft n'a visiblement pas jugé utile de fournir des équivalents compatibles.
La reprise de ce projet demande donc beaucoup d'adaptations et m'oblige particulièrement à revoir radicalement l'interface utilisateur. J'espère seulement pouvoir produire à nouveau un outil efficace, clair et simple d'utilisation. Mais ma plus grosse difficulté, ça reste le manque de temps à y consacrer...
Tout comme toi, j'ai hâte que cet outil soit prêt car, à titre personnel, c'est vraiment une de mes applications les plus utiles, depuis des années.
Je ne manquerai pas de venir vous informer dans ce fil de discussions lorsque j'aurai finalisé la nouvelle macro complémentaire, laquelle (je l'espère) sera aussi fiable que la précédente.
Bien cordialement, Didier_mDF
Le Webmaster La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien |
|
|
Re: Mettre un texte dans une image | ||
---|---|---|
Inscription: 18/05/2006
De Saône-et-Loire (71)
Messages:
1539
Système d'exploitation: PC Version Excel utilisée: 97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365 |
Posté le : 06-11-2020 17h35
Bonjour Louis4458, le Forum,
Citation : Louis4458 a écrit :
Si tu veux obtenir de l'aide Louis, il faudrait que tu sois plus explicit, car présenté comme ça, ta question ne veut pas dire grand chose je crois.
Quelques explications détaillées, et sans doute un classeur exemple simple en pièce jointe * permettraient sans doute aux visiteurs ici de mieux comprendre ta demande...
Bien cordialement,
* Attention : Pièce jointe de préférence zippée, et de 120 Ko maximum. Son contenu doit toujours être anonymisé. Consultez cette FAQ au besoin. Didier_mDF
Le Webmaster La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien |
|
|
Re: Faire clignoter une image | ||
---|---|---|
Inscription: 18/05/2006
De Saône-et-Loire (71)
Messages:
1539
Système d'exploitation: PC Version Excel utilisée: 97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365 |
Posté le : 05-11-2020 19h28
Bonjour Louis4458,
Tout d'abord, si tu ne veux pas que ton fichier devienne une usine à gaz... Oui, je te confirme que ton image devrait être au préalable collée sur ta feuille de calcul.
Ensuite, sur base du fichier « Cellules et Alertes clignotantes » et son code VBA, je vais essayer de te détailler point par point ce que tu peux tester :
Tu l'as compris, l'objet qui clignote en jaune ici, est nommé "Alerte" et il est représenté dans VBA sous l'expression : Shapes("Alerte") (voir procédures "Clign" et "StopClign")
Ce que je te propose, c'est d'échanger cet objet "Alerte" par ta propre image pour t'aider à comprendre.
1ère ETAPE : on va supprimer l'ancien objet nommé "Alerte" (alors qu'il est invisible) :
L'objet est supprimé, cette 1ère étape est donc terminée.
2ème ETAPE : on va déposer ton image perso dans la feuille et la nommer "Alerte" (en remplacement de l'ancienne).
Et voilà, tu peux maintenant tester en modifiant le contenu de la cellule B3 : ton image va clignoter lorsque la valeur sera supérieure à 9 et devenir invisible dans le cas contraire.
Bien évidemment, tu pourras ensuite renommer ton image autrement que par "Alerte", mais il te faudra veiller à remplacer également dans le code VBA pour que sa fonctionne.
J'espère que ces quelques explications te permettront d'avancer dans ton projet. Je te recommande cependant de bien lire l'article portant sur « La Méthode OnTime » car, si mal utilisée, ton fichier peut vite ressembler à une guirlande de Noël incontrôlable !
Observe en particulier le code présent dans l'objet ThisWorkbook et notamment la procédure Workbook_BeforeClose() qui est très importante pour désactiver OnTime à la fermeture du classeur.
Avec les fichiers exemples en téléchargement, l'article sur cette méthode, et les quelques explications ci-dessus, je pense que tu as tout le nécessaire pour faire tes propres expériences sur ce sujet.
Cela dit, tout ça est fait uniquement pour le fun et pour expérimenter. J'ai toujours déconseillé ce type de gadget dans les projets "sérieux".
Bien cordialement,
Edité par myDearFriend! le 05/11/2020 20:53:50
Didier_mDF
Le Webmaster La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien |
|
|
Re: Problème d'installation mDF_XLcalendar.xla | ||
---|---|---|
Inscription: 18/05/2006
De Saône-et-Loire (71)
Messages:
1539
Système d'exploitation: PC Version Excel utilisée: 97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365 |
Posté le : 02-11-2020 19h21
Bonjour Gouloute62, bienvenue sur mDF-XLPages.com
En effet, grâce à notre ami Bob362 dans ce fil de discussion, la cause du problème est visiblement cernée. Grand merci à lui car je n'aurai jamais trouvé sans son analyse !
Cependant, comme tu as pu le voir, à l'époque je n'ai jamais trouvé de solution fiable à cette situation qui touche donc uniquement les PC sur lesquels l'option de mise à l'échelle Windows a été modifiée via le panneau de configuration Système. Et je comprends naturellement que pour certaines personnes, il soit utile (voire nécessaire!) de paramétrer l'affichage du texte supérieur à 100%.
La version du mDF XLcalendar (v3.2) en téléchargement actuellement ne corrige donc pas ce souci. En toute honnêteté, il y a longtemps que je devrais me repencher sur cet utilitaire et, au moins, l'adapter pour les versions Excel récentes... Mais j'ai d'autres activités qui m'occupent beaucoup depuis un certain temps.
Cependant, je tente rapidement un nouveau "correctif" (enfin, j'espère , car j'ai modifié le code VBA de façon pas vraiment propre cette fois!). Tu trouveras ce correctif en pièce jointe.
Peux-tu essayer cette version légèrement modifiée et me dire si ça règle ton problème ? Dans l'attente,
Bien cordialement,
Pièce jointe:
mDF_XLcalendar_v3-2b(Correctif affichage).zip [ Taille: 119.75 Ko - Téléchargements: 343 ]
Edité par myDearFriend! le 02/11/2020 19:56:05
Didier_mDF
Le Webmaster La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien |
|
|
Re: Faire cligoter une image | ||
---|---|---|
Inscription: 18/05/2006
De Saône-et-Loire (71)
Messages:
1539
Système d'exploitation: PC Version Excel utilisée: 97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365 |
Posté le : 02-11-2020 17h05
Bonjour Louis, bienvenue sur mDF-XLpages.com
Je pense que la section de téléchargements "Horloges, Timers et Clignotements" pourrait t'intéresser et particulièrement le fichier "Cellules et Alertes clignotantes".
Je te conseille vivement aussi la lecture de l'article portant sur "La méthode OnTime".
En espérant que ça puisse t'être utile. Bien cordialement, Didier_mDF
Le Webmaster La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien |
|
|