Bonjour,
Le fichier Excel que je crée est basé avant tout sur du code vba.
Je souhaiterais créer une liste déroulante dans une cellule Excel mais en vba.
J'ai actuellement un tableau en mémoire et j'aimerais remplir ma liste avec les éléments du tableau. Ce tableau n'a pas une taille fixe selon la situation et les éléments à l'intérieur sont eux aussi suceptibles de changer. L'utilisateur du fichier excel sera quelqu'un d'autre et sera suceptible de rentré n'importe quoi comme éléments du tableau.
J'aimerais donc savoir comment remplir une liste déroulante avec des données d'un tableau en mémoire et le tout fait en vba et non par des formules excel,
Pour l'instant, j'ai créé ma liste déroulante avec l'enregistreur de macro et le code obtenu est le suivant :
With Selection.Validation
.Delete
.Add type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="DOSAGE"
.IgnoreBlank = False
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Je ne trouve pas la syntaxe pour qu'à la place de "DOSAGE", il prennent tous les éléments du tableau (qui n'est disponible qu'en mémoire)
Pouvez m'aider s'il vous plait
Merci d'avance
Le fichier Excel que je crée est basé avant tout sur du code vba.
Je souhaiterais créer une liste déroulante dans une cellule Excel mais en vba.
J'ai actuellement un tableau en mémoire et j'aimerais remplir ma liste avec les éléments du tableau. Ce tableau n'a pas une taille fixe selon la situation et les éléments à l'intérieur sont eux aussi suceptibles de changer. L'utilisateur du fichier excel sera quelqu'un d'autre et sera suceptible de rentré n'importe quoi comme éléments du tableau.
J'aimerais donc savoir comment remplir une liste déroulante avec des données d'un tableau en mémoire et le tout fait en vba et non par des formules excel,
Pour l'instant, j'ai créé ma liste déroulante avec l'enregistreur de macro et le code obtenu est le suivant :
With Selection.Validation
.Delete
.Add type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="DOSAGE"
.IgnoreBlank = False
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Je ne trouve pas la syntaxe pour qu'à la place de "DOSAGE", il prennent tous les éléments du tableau (qui n'est disponible qu'en mémoire)
Pouvez m'aider s'il vous plait
Merci d'avance
Dernière édition: