Liste déroulante par macro
maloplekxus
Messages postés
30
Statut
Membre
-
maloplekxus Messages postés 30 Statut Membre -
maloplekxus Messages postés 30 Statut Membre -
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 :
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.
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:
- Liste déroulante par macro
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste code ascii - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
1 réponse
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)
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)
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.