A voir également:
- Vba inputbox liste déroulante
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
- Liste code ascii - Guide
- Supprimer une liste déroulante excel - Forum Word
14 réponses
Salut,
Si j'ai bien compris tu as créé un formulaire et tu voudrais créer une liste déroulante de mois.
Pour ça il faudrait que tu remplace le InputBox (c'est une zone de texte, non une liste déroulante) de ton formulaire, par un ComboBox (liste déroulante).
Ensuite, si tu as mis dans ta page excel un bouton pour ouvrir ton formulaire tu double clique. VBA s'ouvre et tu devrais avoir :
Private Sub CommandButton1_Click()
tape ensuite le code suivant :
Load UserForm1
UserFrom1.ComboBox1.AddItem "Janvier"
UserFrom1.ComboBox1.AddItem "Février"
[etc...]
UserFrom1.ComboBox1.AddItem "Décembre"
UserForm1.Show
End Sub
En espérant avoir répondu à ta question a+ bonne continuation
Si j'ai bien compris tu as créé un formulaire et tu voudrais créer une liste déroulante de mois.
Pour ça il faudrait que tu remplace le InputBox (c'est une zone de texte, non une liste déroulante) de ton formulaire, par un ComboBox (liste déroulante).
Ensuite, si tu as mis dans ta page excel un bouton pour ouvrir ton formulaire tu double clique. VBA s'ouvre et tu devrais avoir :
Private Sub CommandButton1_Click()
tape ensuite le code suivant :
Load UserForm1
UserFrom1.ComboBox1.AddItem "Janvier"
UserFrom1.ComboBox1.AddItem "Février"
[etc...]
UserFrom1.ComboBox1.AddItem "Décembre"
UserForm1.Show
End Sub
En espérant avoir répondu à ta question a+ bonne continuation
Explique comment tu veux que ta fenetre s'affiche , qu'est ce qu'elle doit faire etc. . . ce que tu demandes je suis en train d'en faire
Comment je veux que ma fenetre s'affiche, je n'est pas de préférence. Je m'explique
j'ai créé une variable mois qui sera ensuite mis dans une cellule
mois = InputBox("Veuillez entrez le mois de l'encours en toute lettre" & Chr(10) & "Exemple : janvier", "Mois?")
cells(1,1)= mois
Le probleme c'est que si l'utilisateur de la macro met autre chose qu'un mois ça compliquera la tache. si par exemple il met "Sept" au lieu de "Septembre" ma cellule A1 affichera "Sept" ce qui pose probleme si j'effectue une recherche par mois!
C'est un petit exemple mais en réalité je travail sur plus de 13 000 lignes. Il est donc important de pouvoir limiter la saisie.
Je veux "Janvier","Février","Mars", [...], "Décembre" .
Si j'était sur une feuille de classeur j'aurais fait une liste déroulante avec les 12 mois de l'année. Ainsi on la saisie serait limité. Je vx pouvoir faire la même chose dans ma macro sur VBA !!
Merci
j'ai créé une variable mois qui sera ensuite mis dans une cellule
mois = InputBox("Veuillez entrez le mois de l'encours en toute lettre" & Chr(10) & "Exemple : janvier", "Mois?")
cells(1,1)= mois
Le probleme c'est que si l'utilisateur de la macro met autre chose qu'un mois ça compliquera la tache. si par exemple il met "Sept" au lieu de "Septembre" ma cellule A1 affichera "Sept" ce qui pose probleme si j'effectue une recherche par mois!
C'est un petit exemple mais en réalité je travail sur plus de 13 000 lignes. Il est donc important de pouvoir limiter la saisie.
Je veux "Janvier","Février","Mars", [...], "Décembre" .
Si j'était sur une feuille de classeur j'aurais fait une liste déroulante avec les 12 mois de l'année. Ainsi on la saisie serait limité. Je vx pouvoir faire la même chose dans ma macro sur VBA !!
Merci
Tu peux écrire la liste des mois dans une colonne de ta feuille,
Ensuite tu sélectionne la cellule où tu veux placer ta liste puis :
Données / Validation
Dans l'onglet Option tu cliques dans le menu "Autoriser" tu choisis "Liste"
Puis dans "Source", tu sélectionnes ta liste de mois.
Les onglets "Message de saisie" et "Alerte d'erreur" te permettent de donner des informations à l'utilisateur.
Dis moi si cette réponse t'aide, sinon envoi une partie de la feuille que tu entrain de faire....
Ensuite tu sélectionne la cellule où tu veux placer ta liste puis :
Données / Validation
Dans l'onglet Option tu cliques dans le menu "Autoriser" tu choisis "Liste"
Puis dans "Source", tu sélectionnes ta liste de mois.
Les onglets "Message de saisie" et "Alerte d'erreur" te permettent de donner des informations à l'utilisateur.
Dis moi si cette réponse t'aide, sinon envoi une partie de la feuille que tu entrain de faire....
Sub Extrait()
x = 2
mois = InputBox("Veuillez entrez le mois en toute lettre" & Chr(10) & "Exemple : janvier", "Mois?")
Do While Cells(x, 1) <> 0
Cells(x, 1) = mois
Cells(x, 4) = Cells(x, 2) + Cells(x, 3)
x = x + 1
End Sub
Voilà un exemple de code
à la place du inputbox je veux mettre combobox pour limiter la saisie de celui qui lance la macro! ( la macro ne s'applique que sur 1 mois).
voilà en espérant m'être fais comprendre.
x = 2
mois = InputBox("Veuillez entrez le mois en toute lettre" & Chr(10) & "Exemple : janvier", "Mois?")
Do While Cells(x, 1) <> 0
Cells(x, 1) = mois
Cells(x, 4) = Cells(x, 2) + Cells(x, 3)
x = x + 1
End Sub
Voilà un exemple de code
à la place du inputbox je veux mettre combobox pour limiter la saisie de celui qui lance la macro! ( la macro ne s'applique que sur 1 mois).
voilà en espérant m'être fais comprendre.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tu veux donc créer une feuille excel sans toucher à la feuille, mais en utilisant uniquement VBA.
Est ce que cette fois j'ai bien compris ce que tu veux faire ?
Est ce que cette fois j'ai bien compris ce que tu veux faire ?
J'ai une idée avec "xlValidateListe" mais je ne connais pas la syntaxe exacte.
Je te tiens au courant, si tu trouve avant moi, stp tiens moi au courant.
A+ bon courage....
Je te tiens au courant, si tu trouve avant moi, stp tiens moi au courant.
A+ bon courage....
Bonjour,
Il faut que tu fasses toi même ta boîte de message avec un UserForm. Tu y mets un ComboBox et tu récupères la valeur selectionner.
Dans le module du UserForm :
;o)
Il faut que tu fasses toi même ta boîte de message avec un UserForm. Tu y mets un ComboBox et tu récupères la valeur selectionner.
Dans le module du UserForm :
Option Explicit Private Sub ComboBox1_Click() Dim x As Integer x = 2 Do While Cells(x, 1) <> 0 Cells(x, 1) = ComboBox1.Text Cells(x, 4) = Cells(x, 2) + Cells(x, 3) x = x + 1 Wend End Sub Private Sub UserForm_Initialize() Me.Caption = "Veuillez sélectionner un mois." Me.ComboBox1.AddItem "Janvier" Me.ComboBox1.AddItem "Février" Me.ComboBox1.AddItem "Mars" Me.ComboBox1.AddItem "Avril" Me.ComboBox1.AddItem "Mai" Me.ComboBox1.AddItem "Juin" Me.ComboBox1.AddItem "Juillet" Me.ComboBox1.AddItem "Août" Me.ComboBox1.AddItem "Septembre" Me.ComboBox1.AddItem "Octobre" Me.ComboBox1.AddItem "Novembre" Me.ComboBox1.AddItem "Décembre" End Sub
;o)
En fait s'il te faut absolument une ComboBox, tu dois impérativement créer un formulaire avec cette Combo, je ne vois pas d'autre solution.
Le seul moyen que je voie est le suivant :
Tu créés un formulaire
tu mets comme intitulé "Selectionnez un mois de la liste"
en dessous tu mets le combobox
tu initialise ton formulaire afin de mettre les mois dans la liste.
Ensuite, dans ton code ("Extrait" que tu as mis en exemple), au lieu d'appeler la fonction "InputBox", tu appelles ton formulaire.
Je ne vois vraiment pas d'autre solution.
Le seul moyen que je voie est le suivant :
Tu créés un formulaire
tu mets comme intitulé "Selectionnez un mois de la liste"
en dessous tu mets le combobox
tu initialise ton formulaire afin de mettre les mois dans la liste.
Ensuite, dans ton code ("Extrait" que tu as mis en exemple), au lieu d'appeler la fonction "InputBox", tu appelles ton formulaire.
Je ne vois vraiment pas d'autre solution.
peux tu faire passer ton fichier par https://www.cjoint.com/ et ensuite mettre le lien ici.
https://www.cjoint.com/?fEqS7bmPVO
voilà j'ai un peu abrégé la macro mais c'est le même système
merci
voilà j'ai un peu abrégé la macro mais c'est le même système
merci
https://www.cjoint.com/?fEqS7bmPVO
C'est fait !
Vous verrez que l'on peut mettre n'importe quoi pour le mois ce que je ne veux pas.
C'est fait !
Vous verrez que l'on peut mettre n'importe quoi pour le mois ce que je ne veux pas.
bonjour, Dsl pour le retard , mais problème de connexion ce matin.
Voilà une proposition de solution : https://www.cjoint.com/?gclXLYLoSF
;o)
polux
Voilà une proposition de solution : https://www.cjoint.com/?gclXLYLoSF
;o)
polux
Merci mais tu peux me donner la synthax du "combobox" ?
Et le probleme c'est que je ne passe pas par une feuille avant.
Exemple :
Certains articles de type A,B,C,... ne sont valable que pour certains mois! Les A12345... sont ceux du mois de Février, les B12345.... sont ceux du mois de Mars, ect ...
La macro que j'ai faite fonctionne normalement mais à un moment l'utilisateur de la macro en fonction des articles sur lesquels il travail doit entrer le mois (qui va ensuite s'insérer dans la colonne approprié) et ce pendant la macro. Et c'est là que j'ai mis la "inputbox" mais il serait plus approprié d'utiliser une combobox.
Mais comment la présenter sur VBA.
merci