Liste déroulante par macro

Fermé
maloplekxus Messages postés 26 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 20 août 2014 - 31 janv. 2013 à 09:10
maloplekxus Messages postés 26 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 20 août 2014 - 31 janv. 2013 à 10:40
Bonjour,


Mon problème est le suivant : dans l'une de mes cellules j'ai créé une liste déroulante avec une série de valeur et non une plage de cellule. La sélection d'un élément de la liste permet à l'utilisateur d'accéder à un autre classeur après une identification/authentification.
Ensuite je cherche à la compléter ma liste par macro lorsque je veux créer un autre élément.

Voici le code que j'utilise :
Dim liste As String
liste = Selection.Validation.Formula1
MsgBox liste 
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:=liste & "," & Userform.Textbox1
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
    liste= Selection.Validation.Formula1
MsgBox liste 


la msgbox me sert juste à mettre en évidence mon problème qui est que si je rentre une liste telle que Formula1:= "un,deux, trois" cela fonctionne, mais au lancement suivant de la macro msgbox liste va afficher "un;deux;trois". En conséquence ma liste déroulante n'est plus :
un
deux
trois

mais plutôt un;deux;trois

Je ne sais pas comment remédier à ce problème, en espérant que vous saurez m'aider.
Cordialement.

A voir également:

1 réponse

geeegeee Messages postés 118 Date d'inscription samedi 6 octobre 2012 Statut Membre Dernière intervention 17 mars 2014 10
31 janv. 2013 à 09:23
Bonjour,

ActiveSheet.DropDowns.Add(246, 28.5, 57, 15.75).Select
With Selection
.ListFillRange = "$A$1:$A$8"
.LinkedCell = "$A$9"
.DropDownLines = 8
.Display3DShading = False
End With



Entre les parenthèse se trouve la taille et la position de la liste
listfillrange se trouve la plage de cellule qui vont remplir la liste
.linkedcell se trouve la cellule qui va prendre la valeur sélectionner dans la liste
dropdownline= nombre de ligne
display3dsading= image ombré en 3d (visuel)
0
maloplekxus Messages postés 26 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 20 août 2014 3
31 janv. 2013 à 10:40
Bonjour geeegeee,

Merci pour ta réponse, mais je souhaite conserver une liste déroulante (validation des données et ne pas utilisé de contrôle de formulaire ou active x. Deuxième point, je souhaite passer par une liste de valeur et non une plage de cellule. Je transmettrais prochainement un fichier via ci-joint afin de mieux exposer mon problème et mon objectif.
0