Bonjour à tous,
J'aimerais dans une liste déroulante sur la feuille, avoir les données présentes dans la colonne A (A1 est une enrête) mais sans les valeurs vides, que se soit au début, au milieu ou à la fin de la colonne.
Merci.
Bonjour à tous,
J'aimerais dans une liste déroulante sur la feuille, avoir les données présentes dans la colonne A (A1 est une enrête) mais sans les valeurs vides, que se soit au début, au milieu ou à la fin de la colonne.
Merci.
Bonjour,
Tu te places dans la colonne et tu fais Alt + Flèche bas.
Bonjour,
Regarde du côté de ce topic LA
Bonjour,
Par une macro, si tu en as envie !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 Sub essai() Dim x As Integer, derlg As Integer Dim tbl As String tbl = "" derlg = Range("C" & Rows.Count).End(xlUp).Row 'recherche dernière ligne en C For x = 1 To derlg If Range("A" & x) <> "" Then If tbl = "" Then tbl = Range("A" & x) Else tbl = tbl & "," & Range("A" & x) End If End If Next x With Selection.Validation 'remplaces selection par la ou les cellules concernées .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:=tbl .IgnoreBlank = True .InCellDropdown = True .ShowInput = True .ShowError = True End With End Sub
Cordialement,
Dom
_____________________________________________
Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
pensez à cliquer sur si votre problème l'est
Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)
Bonsoir pc75, d0n32, casefayere
pc75 -> Je n'ai rien obtenu !!
d0n32 -> J'ai essayé le code de JB, mais pas de résultat
casefayere -> Ca marche bien ton code, mais j'espère avoir une solution par formule en premier (si c'est possible)
Enfin cette formule de notre ami CISCO, permet de supprimer seulement les vides en fin de la liste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part =DECALER($A$2;;;SOMMEPROD(N($A$2:$A$1000<>"")))
Re,
Si tu maintiens la touche Alt enfoncée et que tu appuies sur la touche flèche bas, il ne se passe rien ?
Il faut être dans les données ou sur la première ligne vide de la plage.
Bonsoir pc75,
Si on teste sur une cellule vide, elle ouvre une liste qui contiendra ce qui se trouve au dessus plus ce qui se trouve en dessous
Une solution qui ma était donné (qui marche avec les chiffres seulement), en utilisant une liste intermédiaire :
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part =SI(LIGNES($1:1)<=NBVAL(champ);EQUIV(PETITE.VALEUR(SI(champ<>"";LIGNE(champ));LIGNES($1:1));LIGNE(champ);0);"")
Code : Sélectionner tout - Visualiser dans une fenêtre à part =SI(LIGNES($1:1)<=NBVAL(champ);PETITE.VALEUR(SI(champ<>"";LIGNE(INDIRECT("1:"&LIGNES(champ))));LIGNES($1:1));"")
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager