Liste de certaines feuilles dans un combobox

Le
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è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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Tatanka
Le #5460121
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


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
crolegoogle
Le #5460101
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
Tatanka
Le #5460061
Essaie cette macro :

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

Serge

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
crolegoogle
Le #5460041
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
Tatanka
Le #5460021
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

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
crolegoogle
Le #5460011
Merci Serge j'essaie
A+
crolegoogle
Le #5460001
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
crolegoogle
Le #5459991
J'ai envoié sans dire

!!MERCI POUR TA PATIENCE"
Tatanka
Le #5459981
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

J'ai envoié sans dire

!!MERCI POUR TA PATIENCE"
Tatanka
Le #5459921
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"
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

J'ai envoié sans dire

!!MERCI POUR TA PATIENCE"



Publicité
Poster une réponse
Anonyme