Ce ke je cherche a déjà dû etre expliqué de nombreuses fois mais je ne trouve aucune explication la dessus, si quelqun peut maider ou me rediriger vers un liens ...
Cela concerne la liste déroulante...
La plage de cellule liée à ma liste déroulante contient des vides...
je voudrais que ces vides disparaissent dans ma liste déroulante ...
tu entres les differentes valeurs que tu veux dans ton menu déroulant quelquepart sur ta feuille de calcul.
ensuite a l'endroit où tu veux un menu déroulant tu selectionne la case puis Données - validation
la une fenêtre s'ouvre tu selectionne autorise 'liste déroulante' puis tu lui indique où se trouve ta liste et voilà...
j'espère avoir été clair.
PS : sois un peu plus explicite dans tes questions car là j'espère avoir répondu à ta question mais j'avoue que c'etait confus donc j'ai essayé mais ca n'est peut etre pas ca que tu souhaites
Comme la deja dit Geronimo, c'est vrai que ta demande n'est pas tres precise, mais je te joint un fichier dans lequel les données a mettre dans la combo sont dans la plage A1:A13 (avec des vides). Lorsque tu cliques sur la combo, tu verras que seule les valeurs non vides s'y trouvent. Pour le code, va voir dans le module de la feuil1.
ce sujet m'intéresse je suis confronté également aux blancs dans la liste de validation !
et même quand on coche la case ignorer les blancs il y sont quand même grrrrr !!!!
alors la solution que tu apportes procinet ma séduite sauf que je n'arrive pas à la faire fonctionner correctement !
je m'explique :
au départ rien ne s'affiche dans la combo !
ensuite en bidouillant un peu ( en allant dans l'éditeur VBA et en lancant manuellement la macro ok les valeurs apparaissent bon sauvé
(mais voilà je teste encore hihihihi j'suis un vicieux moua lol )
et là je click sur la valeur de mon choix et elle s'efface !!!!!
j'ai ensuite changé click par double click sa marche mieux mais il faut le savoir sinon les valeurs de la combo peuvent ne pas être les bonnes !
peut on apporter des améliorations simples ( comprehensible pour moi lol ) qui répondent à notre demande ?
Effectivement je veins de reregarder mon fichier, et c'est vrai que c'est complétement con d'avoir mis le code dans Private Sub ComboBox1_Click()
En fait, il vaut mieux directement le mettre dans le module ThisWorkbook comme suit comme ca, il est initialisé des l'ouverture du fichier.
Code:
Private Sub Workbook_Open()
Dim i As Integer
ComboBox1.Clear
For i = 1 To 13
If Not Cells(i, 1).Value = '' Then
ComboBox1.AddItem (Cells(i, 1).Value)
End If
Next i
End Sub
Apres si tu as d'autres questions, ou une question particulière, post la, on verra ce qu'on peu faire.
désolé de te déranger mais je suis vraiment néophite en VBA j'essaye de comprendre mais c'est pas évident.
la première solution est intéressente car elle permet de modifier la liste de choix en cours d'utilisation la liste n'est pas forcément figée. alors que si on place le code dans thisworkbook elle l'est ou alors il faut quitter le fichier pour que la combo se mette à jour enfin je penses car je n'ai pas réussi à le faire fontionner !!!!!!
C'est vrai, tout code a ces avantages et inconvénients, il faut simplement trouver le code adapté a ces besoins. SI tu veux que la combo soit 'dynamique', je te propose de mettre le code tout simplement comme ceci:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Byte
Dim nom_feuille As String
ComboBox1.Clear
For i = 1 To 13
If Not Cells(i, 1).Value = '' Then
ComboBox1.AddItem (Cells(i, 1).Value)
End If
Next i
End Sub
Ainsi, ta combo est réinitialisée a chaque fois que tu change de cellule sur la feuille. Je pense que ce code devrait te convenir, si ce n'etait pas le cas, refais signe.