Se connecter avec
S'enregistrer | Connectez-vous

Probleme execution de macros à l'ouverture d'excel

Dernière réponse : dans Programmation

Bonjour tout le monde,

J'ai un fichier excel avec 1 classeur contenant 2 feuilles. Dans la premiere feuille j'ai mis une liste modifiable que j'ai programmé sous VB.Je veux que à l'ouverture de excel les données ("A","B","C"et"D")soient rentrées dans ma liste modifiable. Pour cela j'ai entré comme code sous VB:

Private Sub UserForm_Initialize1()

ComboBox1.AddItem "A"
ComboBox1.AddItem "B"
ComboBox1.AddItem "C"
ComboBox1.AddItem "D"

End Sub

Private Sub Worksheet_Activate()
UserForm_Initialize1
End Sub

Le probleme est que à chaque fois que je vais sur la deuxieme feuille et que je reviens sur la premiere il me double mes données dans ma liste modififiable.

Comment résoudre se probleme?

merci
Lassé par la pub ? Créez un compte

dans ton UserForm_Initialize, fais un test pour savoir si "A" est déjà présent.
S'il ne l'est pas, c'est qu'aucune variable n'y est; et dans ce cas là, dans ton 'if' tu met tout tes "combobox1.additem".
Mais si "A" est présent, il ne te les rajouteras pas et passera à la suite.

C'est bon j'ai trouvé comment résoudre mon probleme. Pour éviter que mes données se multiplient dans ma liste modifiable à chaque fois que je change de feuille il faut que je rentre avant mes ComboBox1.AddItem le code: ComboBox1.Clear

je te remercie quand meme.

Ce n'est pas ça le probleme en fait!!
Si tu veux ma liste modifiable fonctionne tres bien.Elle se lance correctement à l'ouverture d'excel.Les données sont bien présentent dans ma liste.Dans mon classeur j'ai 2 feuilles et ma liste modifiable est sur la premiere.Quand je vais sur la feuille2 et que je revien sur la 1,les données dans ma liste modifiable se sont multiplié par 2.là est le probleme!!!

ok, sa marche quand je met 'Private Sub workbook_open() dans thisWorkbook mais cela engendre un autre probleme:
je sélectionne une donné de ma liste modifiable qui est dans ma feuille 1,ma donnée s'affiche.apres je vais sur la feuille 2 et je reviens sur la feuille 1:ma donnée ne s'affiche plus.je suis alors obligé de la re-sélectionner.

Comment résoudre ce nouveau probleme?

il y a une précision que j'ai oublié de faire; c'est que j'ai une liste modifiable dans ma feuille 1 et une autre dans ma feuille 2. Elles s'appellent toutes les deux combobox1 donc je pense que je ne peux pas les gérer dans thisworbook.

J'ai raison?
Lassé par la pub ? Créez un compte