VBA Excel Pb affichage ComboBox If
Résolu
pijaku
Messages postés
12263
Date d'inscription
Statut
Modérateur
Dernière intervention
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je fais appel à vous ce jour pour une bizarrerie VBA sous Excel (testé sous 2003).
Je souhaite que s'affiche, dans une Combo de mon USF, le nom des feuilles du classeur, mises à part 3 de ces feuilles...
Ma grande question du jour est pourquoi?
Pourquoi ce code affiche tout de même "Feuil1", "Facture" et "Devis" dans la ComboBox :
Alors qu'avec ce code les feuilles non désirées ne s'affichent pas :
J'ai donc trouvé ma solution, mais je cherche tout de même à comprendre.
Merci d'avance.
Je fais appel à vous ce jour pour une bizarrerie VBA sous Excel (testé sous 2003).
Je souhaite que s'affiche, dans une Combo de mon USF, le nom des feuilles du classeur, mises à part 3 de ces feuilles...
Ma grande question du jour est pourquoi?
Pourquoi ce code affiche tout de même "Feuil1", "Facture" et "Devis" dans la ComboBox :
Private Sub UserForm_Initialize() Dim Ws As Worksheet ComboBox1.Clear For Each Ws In ThisWorkbook.Worksheets If Ws.Name <> "Feuil1" Or Ws.Name <> "Facture" Or Ws.Name <> "Devis" Then ComboBox1.AddItem Ws.Name End If Next Ws End Sub
Alors qu'avec ce code les feuilles non désirées ne s'affichent pas :
Private Sub UserForm_Initialize() Dim Ws As Worksheet ComboBox1.Clear For Each Ws In ThisWorkbook.Worksheets If Ws.Name = "Feuil1" Or Ws.Name = "Facture" Or Ws.Name = "Devis" Then Else ComboBox1.AddItem Ws.Name End If Next Ws End Sub
J'ai donc trouvé ma solution, mais je cherche tout de même à comprendre.
Merci d'avance.
A voir également:
- VBA Excel Pb affichage ComboBox If
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
3 réponses
Salut,
Dans ton deuxième code tu écris si le nom de la feuille est égale à = "Feuil1" ne pas afficher
alors que dans le premier code s'il est différent <> "Feuil1" ne pas afficher donc Feuil1 s'affiche ainsi que "Facture" "Devis" sauf les autres feuilles, ce qui n'est pas normal c'est qu'elles s'affichent
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Dans ton deuxième code tu écris si le nom de la feuille est égale à = "Feuil1" ne pas afficher
alors que dans le premier code s'il est différent <> "Feuil1" ne pas afficher donc Feuil1 s'affiche ainsi que "Facture" "Devis" sauf les autres feuilles, ce qui n'est pas normal c'est qu'elles s'affichent
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Bonjour,
A la place de "Or", essaie "And"....
Bonne journée
A la place de "Or", essaie "And"....
Bonne journée
Salut cousin...
Ca fonctionne bien avec "And".
Je répète alors ma question, puisque l'on a avancé, pourquoi ce code ne fonctionne pas avec "Or"?
Au niveau de la syntaxe tout semble correct : Si...Ou...Ou...Alors.
EDIT : pas bien réveillé... Désolé, je retire ma question... Il est vrai que comme le nom de ma feuille "Feuil1" est différent de "Facture" alors, comme le test se fait avec "ou", il est normal d'ajouter à la combo...
Ca fonctionne bien avec "And".
Je répète alors ma question, puisque l'on a avancé, pourquoi ce code ne fonctionne pas avec "Or"?
Au niveau de la syntaxe tout semble correct : Si...Ou...Ou...Alors.
EDIT : pas bien réveillé... Désolé, je retire ma question... Il est vrai que comme le nom de ma feuille "Feuil1" est différent de "Facture" alors, comme le test se fait avec "ou", il est normal d'ajouter à la combo...
Non dans le premier, j'indique bien : Si <> "Feuil1" alors afficher... C'est bien là le "souci".
1er code :