Probleme execution de macros à l'ouverture d'excel

mulot03

Habitué
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
 

Nova13

Habitué
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.
 

mulot03

Habitué
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.
 

mulot03

Habitué
En fait sa me convient pas la solution que j'ai trouvé.
Il y aurait il un autre moyen de résoudre ce probleme?
En principe sur VB il y a plusieurs moyen de faire les choses!!!!!

 

zeb

Modérateur
S'il y a quelque chose dans ta liste (ComboBox1.Items.Count), ne rien faire, sinon y ajouter les valeurs (ComboBox1.AddItem "A", ..)
 

mulot03

Habitué
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!!!
 

Nova13

Habitué
mais as-tu essayé la méthode qu'on t'as donnée?
car ca m'étonnerai que ca ne marche pas en faisant ca...
 

mulot03

Habitué
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?
 

mulot03

Habitué
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?
 

mulot03

Habitué
c'est bon j'ai réussi à résoudre tous mes problemes.J'ai tous mis dans Workbook_open en précisant le nom des feuilles àchaque fois.

merci à tous!!!
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 136
Messages
6 718 114
Membres
1 586 397
Dernier membre
Chachabidou
Partager cette page
Haut