Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Liste de certaines feuilles dans un combobox

11 réponses
Avatar
crolegoogle
Bonjour le groupe,

Je cherche le code VBA pour que dans le combobox de mon UserForm il y
ai la liste de mes feuilles qui dans leur nom poss=E8de le mot "facture"
Mes feuilles ont plusieur nom diff=E9rent mais plusieurs ont le nom de
"Facture de TOTO, Facture de TITI, etc..."

Merci de m'=E9clairer
Cordialement
Crole

10 réponses

1 2
Avatar
Tatanka
Salut,

Peut-être que ceci pourra te convenir :

Private Sub UserForm_Initialize()
Dim F As Worksheet
Dim n$
For Each F In ActiveWorkbook.Worksheets
n = F.Name
If InStr(1, LCase(n), "facture") <> 0 Then ComboBox1.AddItem n
Next F
End Sub

Serge


a écrit dans le message de news:
Bonjour le groupe,

Je cherche le code VBA pour que dans le combobox de mon UserForm il y
ai la liste de mes feuilles qui dans leur nom possède le mot "facture"
Mes feuilles ont plusieur nom différent mais plusieurs ont le nom de
"Facture de TOTO, Facture de TITI, etc..."

Merci de m'éclairer
Cordialement
Crole
Avatar
crolegoogle
Bonjour Serge,
Bonjour le Groupe,

Je te remercie c'est excactement ce que je souhaitais

Sans vouloir Abuser,

Lorsque j'ai choisis dans mon combobox la feuille recherchée,
Pourrais-tu m'indiquer le code pour le Bouton Valider et que celui-ci
me renvoie à la feuille du combo

Merci d'avance
Cordialement
Crole
Avatar
Tatanka
Essaie cette macro :

Private Sub CommandButton1_Click()
Dim nom$
On Error Resume Next
nom = ComboBox1
Worksheets(nom).Select
End Sub

Serge

a écrit dans le message de news:
Bonjour Serge,
Bonjour le Groupe,

Je te remercie c'est excactement ce que je souhaitais

Sans vouloir Abuser,

Lorsque j'ai choisis dans mon combobox la feuille recherchée,
Pourrais-tu m'indiquer le code pour le Bouton Valider et que celui-ci
me renvoie à la feuille du combo

Merci d'avance
Cordialement
Crole
Avatar
crolegoogle
Re Bonjour Serge
Re le groupe

Merci Serge pour ta réponse
C'est tout simplement génial

Si je met 2 autres UserFormDevis et UserFormHoraires

Puis-je coller copier le même code pour les deux

Merci
Avatar
Tatanka
Si tu as plusieurs UserForm contenant
un ComboBox nommé ComboBox1 et un
CommandButton nommé CommandButton1,
les deux mêmes macros peuvent être copiées
dans la feuille de code de chaque UserForm.

Serge

a écrit dans le message de news:
Re Bonjour Serge
Re le groupe

Merci Serge pour ta réponse
C'est tout simplement génial

Si je met 2 autres UserFormDevis et UserFormHoraires

Puis-je coller copier le même code pour les deux

Merci
Avatar
crolegoogle
Merci Serge j'essaie
A+
Avatar
crolegoogle
Re Bonjour Serge,

Manifestement rien ne se produit.
Je te prie de trouver ci-après le code de mon UserFormDevis

Pour le bouton cmd "Valider"

Private Sub CommandButton1_Click()
UserFormDevis.Hide
Dim nom$
On Error Resume Next
nom = ComboBox1
Worksheets(nom).Select
End Sub

Pour le bouton cmd "Quitter"

Private Sub CommandButton2_Click()
UserFormDevis.Hide
End Sub

Pour le ComboBox "ComboBox1"

Private Sub UserForm_Initialize()

Dim F As Worksheet
Dim n$
For Each F In ActiveWorkbook.Worksheets
n = F.Name
If InStr(1, LCase(n), "Devis") <> 0 Then ComboBox1.AddItem n
Next F
End Sub
Avatar
crolegoogle
J'ai envoié sans dire

!!MERCI POUR TA PATIENCE"
Avatar
Tatanka
Salutations,

Là je ne suis plus sûr de suivre ;-)
Les macros suivantes supposent que le nom de ton UserForm est Devis
et cherchent la chaîne "devis" dans les noms de feuilles.
Est-ce mieux ainsi ?

Private Sub CommandButton1_Click()
Devis.Hide
Dim nom$
On Error Resume Next
nom = ComboBox1
Worksheets(nom).Select
End Sub

Private Sub CommandButton2_Click()
Devis.Hide
End Sub

Private Sub UserForm_Initialize()
Dim F As Worksheet
Dim n$
For Each F In ActiveWorkbook.Worksheets
n = F.Name
If InStr(1, LCase(n), "devis") <> 0 Then ComboBox1.AddItem n
Next F
End Sub

Serge

a écrit dans le message de news:
J'ai envoié sans dire

!!MERCI POUR TA PATIENCE"
Avatar
Tatanka
Salut Crole,

Voici mon exemple à cette adresse :
http://cjoint.com/?etkzT4VgDG
Important :
Dans l'instruction :
If InStr(1, LCase(n), "devis") <> 0 Then ComboBox1.AddItem n
il faut absolument écrire devis en minuscules car LCase(n) transforme
le nom de la feuille en minuscules. Tu obtiens alors tous les noms de
feuilles contenant le mot Devis ou DEVIS ou dEvis ou ...

Tu pourrais aussi utiliser l'instruction :
If InStr(1, UCase(n), "DEVIS") <> 0 Then ComboBox1.AddItem n

Serge


"Tatanka" a écrit dans le message de news:
Salutations,

Là je ne suis plus sûr de suivre ;-)
Les macros suivantes supposent que le nom de ton UserForm est Devis
et cherchent la chaîne "devis" dans les noms de feuilles.
Est-ce mieux ainsi ?

Private Sub CommandButton1_Click()
Devis.Hide
Dim nom$
On Error Resume Next
nom = ComboBox1
Worksheets(nom).Select
End Sub

Private Sub CommandButton2_Click()
Devis.Hide
End Sub

Private Sub UserForm_Initialize()
Dim F As Worksheet
Dim n$
For Each F In ActiveWorkbook.Worksheets
n = F.Name
If InStr(1, LCase(n), "devis") <> 0 Then ComboBox1.AddItem n
Next F
End Sub

Serge

a écrit dans le message de news:
J'ai envoié sans dire

!!MERCI POUR TA PATIENCE"



1 2