|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Defter DefterDessinateur industriel Inscription : mai 2011 Messages : 35 ![]() |
Bonjour à toutes et à tous,
Un problème me bloque depuis pas mal de temps et impossible d'adapter les macro trouvées dans différent thread.. Celui-ci est tout simple : J'ai une colonne A composée de diverses valeurs. Exemple : XX1 XX2 XX3 ... Celles-ci ce répètent plusieurs fois dans la colonne A J'ai nommé la plage ou ce trouve les valeurs : Gamme Quand j'intègre "Gamme" à une combobox (Combobox1), ça marche mais tout il y a évidement les valeurs qui ce répètent. J'ai adapté une macro existante à mon problème : Code :
J'ai essayé différente solution mais la je bloque totalement... Merci pour vos réponses, Defter |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Pour ma part, je remplirais d'abord un dictionnaire à partir du range en évitant les doublons (grâce à Exists), puis je remplirais la combobox.
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell |
|
|
10
|
|
|
#3 |
|
Invité régulier
![]() Defter DefterDessinateur industriel Inscription : mai 2011 Messages : 35 ![]() |
Bonjour Zebreloup, et Bonne année !
Merci pour ta réponse mais pourrais-tu être plus précis ? Je suis encore un Novice en VBA et j'avoue ne pas saisir complètement ta réponse. Cordialement, Defter |
|
|
00
|
|
|
#4 | |||
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 920 ![]() |
Bonjour,
Une autre version en utilisant Instr Code :
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|||
|
|
20
|
|
|
#5 | ||
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Essaie ce code après avoir coché Microsoft Scripting Runtime dans les références :
Code :
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell |
||
|
|
20
|
|
|
#6 |
|
Invité régulier
![]() Defter DefterDessinateur industriel Inscription : mai 2011 Messages : 35 ![]() |
Bonjour Jfontaine et merci
Merci Zebreloup ! Mais question bête : Je copie ça ou ? Directement dans la feuille et je fais clic droit sur la combobox de la feuille et je la met dedans ? Je ne sais jamais ou mettre les macros ... :/ désolé x). Encore merci pour vos réponses, Cordialement, Defter Alors j'ai ajouté la macro dans la feuille "Data" et il me dit : Propriétée ou méthode non gérée par cet Objet Code Erreur 438 ... J'ai coché Microsoft scipting runtime. Cordialement, Defter |
|
|
00
|
|
|
#7 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
Bonjour à tous
Ci-joint code de ZebreLoup modifié en utilisant une seule boucle Code :
__________________
Cordialement. |
||
|
|
10
|
|
|
#8 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Tu pouvais mettre ce code dans un module. Si tu veux le mettre sur la feuille "Data", tu peux même remplacer les Worksheets("Data") par Me.
En fait ça dépend d'où tu veux appeler cette macro. Pour ton erreur elle intervient sur quelle ligne ?
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell |
|
|
00
|
|
|
#9 | |||
![]() ![]() Didier GONARDFormateur Développeur Office - indépendant Inscription : février 2008 Messages : 2 353 ![]() |
Bonjour,
Pour les Combobox, astucieux et concis : Citation:
Cordialement, Ps : si le côté technique de la réponse = OK ou pas => pensez à cliquer sur les pouces et quand question résolue à la taguer résolue, et chaque action vous rapporte des points Didier
__________________
Didier Gonard Ps : Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite ! Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP N'oubliez pas de mettre : ..quand c'est le cas !
|
|||
|
|
20
|
|
|
#10 |
|
Invité régulier
![]() Defter DefterDessinateur industriel Inscription : mai 2011 Messages : 35 ![]() |
La ligne n'est pas précisée, quand je la test avec "Lecture" le message d'erreur apparaît sans plus de précision.
Enfaite j'aimerai que cette macro s'exécute à l'ouverture du fichier, cela est il possible ? Merci pour ton suivis et pour ton aide. Cordialement, Defter |
|
|
00
|
|
|
#11 | ||
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
@Ormonth : oui, c'est vrai, je n'avais pas pensé à demander pourquoi le premier code ne marchait pas.
@Defter : Normalement, quand il y a un message d'erreur à l'exécution d'une macro, il te proposer de l'arrêter ou de déboguer. Si tu choisis cette dernière option, tu devrais te retrouver sur la ligne qui pose problème. De manière générale, on peut mettre son code sur les feuilles, dans un module ou dans un module de classe. J'exclue le module de classe pour le moment car je pense que tu n'en es pas encore là. Par principe (après, chacun fait comme il veut), j'essaie de mettre le code dans un module, sauf quand il s'agit de petites opérations concernant seulement une feuille et déclenchées par un évènement de cette feuille. Si tu ne sais pas ce qu'est un évènement, tu trouveras de bonnes explications en cherchant un peu dans les cours de ce site, mais en gros, c'est un code (une macro) qui se déclenche quand un évènement se produit (click sur un bouton, changement dans une feuille...). C'est là justement qu'on rejoint ta dernière question : en plus de toutes les feuilles de ton classeur, tu as par défaut un objet ThisWorkbook, qui possède l'évènement Open. Donc si dans ThisWorkbook tu places : Code :
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell |
||
|
|
10
|
|
|
#12 |
|
Invité régulier
![]() Defter DefterDessinateur industriel Inscription : mai 2011 Messages : 35 ![]() |
Bonjour à tous,
Excusez moi pour le manque de réponse, j'ai du m'absenter. J'ai finalement trouver une solution à mon problème sans utiliser de code, Avec la fonction INDEX et des conditions j'ai pu aboutir à ce que je cherchais, Merci pour l'attention porté au sujet Cordialement, Defter |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com