Plusieurs combobox dans un formulaire
Fermé
ThomThom50
Messages postés
3
Date d'inscription
dimanche 26 octobre 2014
Statut
Membre
Dernière intervention
26 octobre 2014
-
26 oct. 2014 à 16:38
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 27 oct. 2014 à 16:41
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 27 oct. 2014 à 16:41
A voir également:
- Plusieurs combobox dans un formulaire
- Formulaire de réclamation facebook - Guide
- Alias du formulaire - Forum Programmation
- Récupérer compte hotmail sans formulaire ✓ - Forum Hotmail (Outlook.com)
- Formulaire de remboursement free pdf ✓ - Forum Vos droits sur internet
- Formulaire de contact le bon coin ✓ - Forum Internet / Réseaux sociaux
6 réponses
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
26 oct. 2014 à 18:50
26 oct. 2014 à 18:50
Bonsoir ThomThom, bonsoir le forum,
Comment t'aider si tu ne proposes rien ? Ni code, ni fichier exemple...
Comment t'aider si tu ne proposes rien ? Ni code, ni fichier exemple...
ThomThom50
Messages postés
3
Date d'inscription
dimanche 26 octobre 2014
Statut
Membre
Dernière intervention
26 octobre 2014
Modifié par pijaku le 27/10/2014 à 07:36
Modifié par pijaku le 27/10/2014 à 07:36
Bonsoir ThauTheme,
Voici le code qui fonctionne très bien, mais je sais pas commente l'enchainer dans mon code pour les autre combobox.
En te remerciant d'avance pour ton aide.
Thom
Voici le code qui fonctionne très bien, mais je sais pas commente l'enchainer dans mon code pour les autre combobox.
'Pour le formulaire
Private [/contents/446-fichier-sub Sub] UserForm_Initialize()
Dim J As Long
Dim I As Integer
ComboBox1.ColumnCount = 1 'Pour la liste Enregistreur demande
ComboBox1.List() = Array("SLR", "FFD", "APT", "TPT", "SLS")
Set Ws = Sheets("Feuil1") 'Correspond au nom de votre onglet dans le fichier Excel
With Me.ComboBox1
For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row
.AddItem Ws.Range("A" & J)
Next J
End With
For I = 1 To 15
Me.Controls("TextBox" & I).Visible = True
Next I
End Sub
En te remerciant d'avance pour ton aide.
Thom
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
26 oct. 2014 à 23:20
26 oct. 2014 à 23:20
Bonsoir Thom, bonsoir le froum,
Tu alimentes deux fois la ComboBox1 :
une première fois, en dur, avec la ligne :
puis une seconde fois, de manière dynamique avec :
C'est plutôt étrange mais pourquoi pas...
En revanche, aucune ligne de code pour alimenter les autres comboboxes. Je ne suis pas devin et sans fichier exemple je ne peux pas te proposer de solution...
Juste une remarque, si tu boucles de 1 à 15 tu peux déclarer la variable I de type Byte...
Tu alimentes deux fois la ComboBox1 :
une première fois, en dur, avec la ligne :
ComboBox1.List() = Array("SLR", "FFD", "APT", "TPT", "SLS")
puis une seconde fois, de manière dynamique avec :
With Me.ComboBox1
For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row
.AddItem Ws.Range("A" & J)
Next J
End With
C'est plutôt étrange mais pourquoi pas...
En revanche, aucune ligne de code pour alimenter les autres comboboxes. Je ne suis pas devin et sans fichier exemple je ne peux pas te proposer de solution...
Juste une remarque, si tu boucles de 1 à 15 tu peux déclarer la variable I de type Byte...
ThomThom50
Messages postés
3
Date d'inscription
dimanche 26 octobre 2014
Statut
Membre
Dernière intervention
26 octobre 2014
26 oct. 2014 à 23:57
26 oct. 2014 à 23:57
Re,
Le fichier: https://www.cjoint.com/?DJAx5OSVIhi
Toutes les colonnes en vertes correspondent à une ComboBox comme tu pourra le voir dans l'Userform.
Elle sont toutes totalement indépendantes des autres.
La combobox "Marque" comportera une liste assez longue de 64 lignes.
Le code écrit dans le Userform est un copiage de code dispo sur le web.
Pour les fonctions des boutons, on verra çà après lol.
En espérant que tu y vois plus clair et que tu va pouvoir m'apporter une solution ou tout du moins un bon de chemin de la solution.
En te remerciant par avance.
Le fichier: https://www.cjoint.com/?DJAx5OSVIhi
Toutes les colonnes en vertes correspondent à une ComboBox comme tu pourra le voir dans l'Userform.
Elle sont toutes totalement indépendantes des autres.
La combobox "Marque" comportera une liste assez longue de 64 lignes.
Le code écrit dans le Userform est un copiage de code dispo sur le web.
Pour les fonctions des boutons, on verra çà après lol.
En espérant que tu y vois plus clair et que tu va pouvoir m'apporter une solution ou tout du moins un bon de chemin de la solution.
En te remerciant par avance.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
27 oct. 2014 à 14:22
27 oct. 2014 à 14:22
Bonjour Thom, bonjour le forum,
Je ne comprends pas. J'ai dû faire une mauvaise manipulation car je t'avais répondu ce matin et je ne vois plus ma réponse...
Je vais donc refaire... La haine !
Je ne comprends pas. J'ai dû faire une mauvaise manipulation car je t'avais répondu ce matin et je ne vois plus ma réponse...
Je vais donc refaire... La haine !
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
27 oct. 2014 à 16:41
27 oct. 2014 à 16:41
Bonjour Thom, bonjour le forum,
Voilà ce que je te propose :
* tu attribues à chaque ComboBox une propriété [Tag] qui correspond au numéro de colonne auquel la ComboBox est reliée.
- ComboBox1 => Tag = 3 (=colonne C)
- ComboBox2 => Tag = 4 (=colonne D)
...
- ComboBox9 => Tag = 1 (=colonne A)
* puis le code d'initialisation :
Remarque : Tu utilises dans ton code des guillemets « et ». Remplace les par ".
Voilà ce que je te propose :
* tu attribues à chaque ComboBox une propriété [Tag] qui correspond au numéro de colonne auquel la ComboBox est reliée.
- ComboBox1 => Tag = 3 (=colonne C)
- ComboBox2 => Tag = 4 (=colonne D)
...
- ComboBox9 => Tag = 1 (=colonne A)
* puis le code d'initialisation :
Option Explicit
Private Ws As Worksheet
Private Sub UserForm_Initialize()
Dim J As Long
Dim COL As Byte
Dim I As Byte
ComboBox1.ColumnCount = 1 'Pour la liste Enregistreur demande
ComboBox1.List() = Array("SLR", "FFD", "APT", "TPT", "SLS")
Set Ws = Sheets("Feuil1") 'Correspond au nom de votre onglet dans le fichier Excel
For I = 1 To 9
With Me.Controls("ComboBox" & I)
COL = CInt(.Tag)
For J = 2 To Ws.Cells(Application.Rows.Count, COL).End(xlUp).Row
.AddItem Ws.Cells(J, COL)
Next J
End With
Next I
For I = 1 To 15
Me.Controls("TextBox" & I).Visible = True
Next I
End Sub
Remarque : Tu utilises dans ton code des guillemets « et ». Remplace les par ".