VBA: Liste déroulante / virgule revenant à la

Eqy -  
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 ;)

1 réponse

incaout Messages postés 347 Date d'inscription   Statut Membre Dernière intervention   74
 
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
0