Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Prob de Combolist dans USF

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Akeya06

XLDnaute Occasionnel
Bonsoir,

Ma combolist me permet d'afficher le nom de mes feuilles. Jusque là tout va bien ! Lorsque je rajoute une feuille, cette dernière apparait dans la combo. Mais est il possible de ne pas faire afficher certaines feuilles dans la combo ?

D'avance merci...
Akeya06 😉
 
Bonsoir

en partant du principe que tu as rempli ta combobox à l'aide d'une boucle et d'un additem, comme ceci :

Code:
Private Sub UserForm_Initialize()
Dim ws As Worksheet

For Each ws In Worksheets
    ComboBox1.AddItem ws.Name
Next ws
End Sub

Il te suffit de tester le nom de la feuille et d'exclure ou pas celle-ci :

Code:
Private Sub UserForm_Initialize()
Dim ws As Worksheet

For Each ws In Worksheets
    If ws.Name  'Feuil2' Then
        ComboBox1.AddItem ws.Name
    End If
Next ws
End Sub

Cette macro n'inclueras pas la feuille 2 dans la combobox.

Voila,

Salut
Hervé
 
bonsoir Hervé,

Je n'utilise pas Additem mais voici le code que j'utilise :

Private Sub UserForm_Initialize()

Dim ws As Worksheet

With UserForm1
For Each ws In Worksheets
If ws.Name 'Total' Then
.ComboBox1.AddItem ws.Name
End If
Next
maliste.RowSource = ''

End With
End Sub

En fait ma combo pilote une listbox. Soit indulgent avec moi car je suis novice en VBA et le code vient de ChTi160 que je remercie encore. J'avoue que j'ai eu du mal à comprendre certaines choses et j'ai ENCORE du mal mais on persevère... :unsure:

Donc voilà si tu avais une solution...

D'avance merci...
Akeya06 😉
 
Salut Akeya06 et Hervé ainsi que le forum... :woohoo:

Vous semblez avoir un code similaire, donc vous avez la même pensée;

Voici ton code comme je crois qu'il devrait apparaitre selon ce que je comprends du post d'Hervé que j'approuve: 😉

With UserForm1
For Each ws In Worksheets
If ws.Name {DIFFERENT} 'Total' Then
{PAS DE POINT AVANT}ComboBox1.AddItem ws.Name
End If
Next
maliste.RowSource = ''

End With

et tu devrait avoir dans ta liste toute les feuilles sauf la feuille 'Total'

Donnes des nouvelles s.v.p.! :side:

Salutations!

Essem
 
Bonjour Essem, Hervé et le Forum,

Effectivement, j'ai enlever le point et pof, plus 'total' dans la combo.
Si je veux maintenant que plusieurs feuilles n'apparaissent pas dans la combo, comment faut-il faire car j'ai essayer en répétant le code, mais là, dans la combo, les feuilles devant apparaitre y sont en double.

Un grand merci à vous de nous faire évoluer à pas de géant...
Akeya06 😉
 
bonjour

Dans cette ligne

If ws.Name {DIFFERENT} 'Total' Then

tu ajoutes les feuilles que tu ne veux pas

If ws.Name {DIFFERENT} 'Total' Or ws.Name {DIFFERENT} 'Nom1' Or ws.Name {DIFFERENT} 'Nom2' Then

Bon courage
 
Oups

En suivant tes conseils, voici donc le code. Et là, je ne comprends pas car dans la combo, la feuille 'infos' y est ainsi que'Réservation'.

Private Sub UserForm_Initialize()

Dim ws As Worksheet

With UserForm1
For Each ws In Worksheets
If ws.Name 'Infos' Or ws.Name 'Réservation' Then
ComboBox1.AddItem ws.Name
End If
Next
maliste.RowSource = ''

End With

End Sub

Si vous pouviez m'éclairer...
Akeya06 😉
 
Salut Hervé et le forum,

Merci pour la réponse, je vais vite continuer mon petit projet.
Tiens, peut être pourrais tu me dire si lorsque celui sera fini, il serait possible de le diffuser sur le forum...

Il sagit d'un petit programme de facturation et de gestion pour le resto de mon beauf. Peut être qu'il pourrait intéresser...

A +
Akeya06 😉
 
Salut'Akeya06'
bonsoir le 'Forum'
Akeya06 je ne comprends pas pourquoi le fichier que je t'ai fourni ne fonctionnait pas
dans ce fichier la feuille Total n'apparaissait pas ??????
de plus le point qui est présent devant Combobox1
est du au fait que j'ai utilisé un With Userform1
le point permet de ne pas répéter ce morceau de code
et end with termine cette procèdure
With UserForm1
For Each ws In Worksheets
If ws.Name <> 'Total' Then
.ComboBox1.AddItem ws.Name
End If
Next

maliste.RowSource = ''
et comme le dit Hervé remplace le Or par And
A+++
Jean Marie
 
Bonsoir Chti160, le forum

Voici le code tel qu'il est écrit actuellement :

Private Sub UserForm_initialize()

Dim ws As Worksheet

TextBox2.Value = Format(Sheets('infos').Range('F11'), '# ##0.00' & '€')
ListBox1.Visible = False

SpinButton1.Min = 0
SpinButton1.Max = 100
SpinButton1.Value = 0

'permet de masquer la ou les feuilles dans la ComboBox1
With UserForm1
For Each ws In Worksheets
If ws.Name <> 'Infos' And ws.Name <> 'Réservation' Then
ComboBox1.AddItem ws.Name
End If
Next
maliste.RowSource = ''

End With

End Sub

Excusez moi si c'est un peu la pagaille, mais je n'ai pas encore la logique d'un Xlien, vu mon niveau, et ca marche bien. Je viens de vérifier, ca marche aussi avec le point. Ca ne change rien. Voilà, voilà...

En tout cas merci beaucoup pour votre soutien et votre suivi des petis nouveaux comme moi. Encore une chose, sera-t-il possible de mettre mon fichier sur le forum (assez gros), peut etre pourra-t-il servir...

Akeya06 😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
216
D
  • Question Question
Réponses
5
Affichages
244
Didierpasdoué
D
Réponses
6
Affichages
316
Réponses
17
Affichages
838
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…