VBA: Liste déroulante / virgule revenant à la
Eqy
-
incaout Messages postés 347 Date d'inscription Statut Membre Dernière intervention -
incaout Messages postés 347 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Petite débutante sur vba, j'espère que ma question ne sera pas trop idiote!
Je crée une liste déroulante à l'aide de xlValidateList.
Pour la remplir, je vais chercher des cellules contenant des phrases avec des virgules.
Étant donné que l'option séparateur pour revenir à la ligne est une virgule, la liste ne ressemblent plus à rien car elle coupe les phrases en plusieurs morceaux (à chaque fois qu'il y a une virgule)
Pour l'instant, j'ai remplacé les virgules dans les cellules par des points virgules mais j'aimerai quand même résoudre le problème sinon je ne vais pas dormir!!! ;);)
voici mon prog :
formule = Worksheets("Attitudinal Segment").Cells(9, 3) & "," & Worksheets("Feuil1").Cells(10, 3)
Worksheets("Feuil1").Cells(10, 9).Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=formule
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = "Which self-portrait do you identify the most with ?"
.ShowInput = True
.ShowError = True
End With
Merci merci d'avance pour l'aide ;)
Petite débutante sur vba, j'espère que ma question ne sera pas trop idiote!
Je crée une liste déroulante à l'aide de xlValidateList.
Pour la remplir, je vais chercher des cellules contenant des phrases avec des virgules.
Étant donné que l'option séparateur pour revenir à la ligne est une virgule, la liste ne ressemblent plus à rien car elle coupe les phrases en plusieurs morceaux (à chaque fois qu'il y a une virgule)
Pour l'instant, j'ai remplacé les virgules dans les cellules par des points virgules mais j'aimerai quand même résoudre le problème sinon je ne vais pas dormir!!! ;);)
voici mon prog :
formule = Worksheets("Attitudinal Segment").Cells(9, 3) & "," & Worksheets("Feuil1").Cells(10, 3)
Worksheets("Feuil1").Cells(10, 9).Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=formule
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = "Which self-portrait do you identify the most with ?"
.ShowInput = True
.ShowError = True
End With
Merci merci d'avance pour l'aide ;)
Configuration: Windows XP Firefox 3.0.8
1 réponse
-
Bonsoir.
J'ai exécuté un enregistrement de macro pour la création manuelle d'une liste de validation. Voici le code obtenu :
Range("I19").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Data"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
En fait "Data" est une plage de cellule nommée (ici la colonne A d'une feuille Excel). Avec une plage nommée, tu peux utiliser des "," au sein de tes cellules.
En espérant que cela t'aidera.
Cdlt
IC