Créer Liste déroulante automatique Excel
Fermé
anonyme46
Messages postés
5
Date d'inscription
jeudi 29 mars 2012
Statut
Membre
Dernière intervention
29 mars 2012
-
Modifié par anonyme46 le 29/03/2012 à 11:25
anonyme46 Messages postés 5 Date d'inscription jeudi 29 mars 2012 Statut Membre Dernière intervention 29 mars 2012 - 29 mars 2012 à 17:17
anonyme46 Messages postés 5 Date d'inscription jeudi 29 mars 2012 Statut Membre Dernière intervention 29 mars 2012 - 29 mars 2012 à 17:17
A voir également:
- Créer Liste déroulante automatique Excel
- Liste déroulante excel - Guide
- Excel liste déroulante en cascade - Guide
- Créer un compte gmail - Guide
- Créer un compte google - Guide
- Créer un groupe whatsapp - Guide
7 réponses
eljojo_e
Messages postés
1155
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
14 octobre 2022
153
29 mars 2012 à 11:50
29 mars 2012 à 11:50
Bonjour,
Peut etre un bout de réponse :
Met ce code dans la feuille correspondante a tes listes
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Range("C2").Select ' -> voir quel cellule va accueillir la liste
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=$i$200:$i$400 ' -> là ou se situe la liste
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Application.EnableEvents = True
End Sub
Peut etre un bout de réponse :
Met ce code dans la feuille correspondante a tes listes
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Range("C2").Select ' -> voir quel cellule va accueillir la liste
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=$i$200:$i$400 ' -> là ou se situe la liste
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Application.EnableEvents = True
End Sub
anonyme46
Messages postés
5
Date d'inscription
jeudi 29 mars 2012
Statut
Membre
Dernière intervention
29 mars 2012
29 mars 2012 à 12:29
29 mars 2012 à 12:29
Bonjour et merci de vous être pencher sur mon sujet,
J'ai rajouter votre programme dans la feuille en question de VBA
J'ai remplacé la valeur C2 par l'une des cellules qui m'intéresse et la valeurs $i$200:$i$400 par la plage de données dans laquelle il y a mes valeurs...
Mais rien ne se produit lorsque je sélectionne ma cellule...
Je ne suis pas un pro de VBA aussi ;-)
Ensuite si je comprends se programme il ne s'applique qu'a une seule cellule... j'en ai 499 qui doivent faire apparaitre les valeurs correspondantes contenues dans les 54000 lignes de mon autres feuilles...
Je risque d'y passer un sacré moment :-)
Merci beaucoup beaucoup quand même je vais étudier ton offre.
J'ai rajouter votre programme dans la feuille en question de VBA
J'ai remplacé la valeur C2 par l'une des cellules qui m'intéresse et la valeurs $i$200:$i$400 par la plage de données dans laquelle il y a mes valeurs...
Mais rien ne se produit lorsque je sélectionne ma cellule...
Je ne suis pas un pro de VBA aussi ;-)
Ensuite si je comprends se programme il ne s'applique qu'a une seule cellule... j'en ai 499 qui doivent faire apparaitre les valeurs correspondantes contenues dans les 54000 lignes de mon autres feuilles...
Je risque d'y passer un sacré moment :-)
Merci beaucoup beaucoup quand même je vais étudier ton offre.
eljojo_e
Messages postés
1155
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
14 octobre 2022
153
Modifié par eljojo_e le 29/03/2012 à 13:01
Modifié par eljojo_e le 29/03/2012 à 13:01
En faite se code va se mettre en route quand tu va modifé une cellule dans ta feuille
Et pour les autre cellules, il faut faire une boucle
for a = 1 to 499
Range("C & a).Select ' -> voir quel cellule va accueillir la liste
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=$i$200:$i$400 ' -> là ou se situe la liste
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
next
après il faut adapter a ton fichier.
Si tu veux de l'aide, il faudrait me faire voir ton fichier (avec ci-joint.com) et me dire quelle cellule vont accueillir quelle liste
Et pour les autre cellules, il faut faire une boucle
for a = 1 to 499
Range("C & a).Select ' -> voir quel cellule va accueillir la liste
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=$i$200:$i$400 ' -> là ou se situe la liste
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
next
après il faut adapter a ton fichier.
Si tu veux de l'aide, il faudrait me faire voir ton fichier (avec ci-joint.com) et me dire quelle cellule vont accueillir quelle liste
anonyme46
Messages postés
5
Date d'inscription
jeudi 29 mars 2012
Statut
Membre
Dernière intervention
29 mars 2012
29 mars 2012 à 14:19
29 mars 2012 à 14:19
Encore merci pour ton aide,
Voici le lien via ci-joint.com
https://www.cjoint.com/?3CDoq0tAunj
Je continu mes recherches, et je vais analyser le complément que tu m'as envoyer.
A bientôt
Voici le lien via ci-joint.com
https://www.cjoint.com/?3CDoq0tAunj
Je continu mes recherches, et je vais analyser le complément que tu m'as envoyer.
A bientôt
eljojo_e
Messages postés
1155
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
14 octobre 2022
153
Modifié par eljojo_e le 29/03/2012 à 16:11
Modifié par eljojo_e le 29/03/2012 à 16:11
Tiens je t'es mis ton fichier qui fonctionne :
https://www.cjoint.com/?3CDpTECVq59
Par contre, on ne peut pas faire de liste à partir d'une autre feuille j'ai donc copié les 2 colonnes de la 2eme feuille dans la première.
Cordialement,
https://www.cjoint.com/?3CDpTECVq59
Par contre, on ne peut pas faire de liste à partir d'une autre feuille j'ai donc copié les 2 colonnes de la 2eme feuille dans la première.
Cordialement,
eljojo_e
Messages postés
1155
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
14 octobre 2022
153
Modifié par eljojo_e le 29/03/2012 à 16:17
Modifié par eljojo_e le 29/03/2012 à 16:17
Le code est pas bon tient remplace par celui la
Sub ok()
Dim a, b As Double
Dim c, d, e As Integer
e = 0
For a = 2 To 65536
If Range("b" & a).Value <> "" Then
For b = 2 To 65536
If Range("m" & b).Value = Range("b" & a).Value Then
c = c + 1
If c = 1 Then d = b
e = b
End If
Next
With Range("a" & a).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=n" & d & ":n" & e ' -> là ou se situe la liste"
End With
c = 0
End If
Next
End Sub
Sub ok()
Dim a, b As Double
Dim c, d, e As Integer
e = 0
For a = 2 To 65536
If Range("b" & a).Value <> "" Then
For b = 2 To 65536
If Range("m" & b).Value = Range("b" & a).Value Then
c = c + 1
If c = 1 Then d = b
e = b
End If
Next
With Range("a" & a).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=n" & d & ":n" & e ' -> là ou se situe la liste"
End With
c = 0
End If
Next
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
anonyme46
Messages postés
5
Date d'inscription
jeudi 29 mars 2012
Statut
Membre
Dernière intervention
29 mars 2012
29 mars 2012 à 16:15
29 mars 2012 à 16:15
Merci beaucoup beaucoup c'est pas mal du tout, c'est clair que ça rame... j'ai supprimé tous les "codes" qui ne commençaient pas par 00 41 et 57 dans la table UDC, ça devrait aller plus vite...
je te fait un retour dés que tout fonctionne.
A+ et thank you again
je te fait un retour dés que tout fonctionne.
A+ et thank you again
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 399
Modifié par Vaucluse le 29/03/2012 à 16:16
Modifié par Vaucluse le 29/03/2012 à 16:16
Bonjour
et pourquoi pas une solution sans VBA si le nom du client est répété sur chaque ligne d'article? (conformément au modèle du message)
voir ici:
https://www.cjoint.com/?BCDqoHf1Zn7
crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
et pourquoi pas une solution sans VBA si le nom du client est répété sur chaque ligne d'article? (conformément au modèle du message)
voir ici:
https://www.cjoint.com/?BCDqoHf1Zn7
crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
eljojo_e
Messages postés
1155
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
14 octobre 2022
153
29 mars 2012 à 16:23
29 mars 2012 à 16:23
----> super ça ! Je connaissais pas.
anonyme46
Messages postés
5
Date d'inscription
jeudi 29 mars 2012
Statut
Membre
Dernière intervention
29 mars 2012
29 mars 2012 à 17:17
29 mars 2012 à 17:17
Merci à vous deux, Vaucluse tu as trouvé exactement ce que je souhaitais.
Eljojo_e je n'ai pas réussi à adapter ton programme avec le mien mais je ne suis pas assez caler en VB. Les listes n'affichais pas toutes les bonnes valeurs. Mais je voyais l'idée...
Je vous remercie encore mille fois pour le temps que vous avez consacrer pour ça.
A bientôt
Eljojo_e je n'ai pas réussi à adapter ton programme avec le mien mais je ne suis pas assez caler en VB. Les listes n'affichais pas toutes les bonnes valeurs. Mais je voyais l'idée...
Je vous remercie encore mille fois pour le temps que vous avez consacrer pour ça.
A bientôt