Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

pb validation dans VBA + pb impression

1 réponse
Avatar
laurent colledani
bonjour

j'essaie de programmer en vba l'installation d'une validation dans une
cellule à chaque fois que je saisie une nouvelle ligne dans un tableau excel
je me suis servie de l'enregistreur de macro pour récupérer le code.
Quand je saisie une nouvelle ligne, la flêche de la liste déroulante de la
validation se met en place Mais les valeurs que j'ai saisies directement dans
VBA apparaissent en ligne et non en colonne dans ma liste déroulante. Toutes
mes valeurs ne forment plus qu'une seule valeur.
quand je ferme le classeur et que je l'ouvre de nouveau, les valeurs sont
cette fois bien sur une colonne.

pourquoi dès l'activation du programme VBA, les valeurs ne se positionnent
pas aussitôt en colonne ?

je donne mon code pour plus de clarté:

Cells(Target.Row, 8).Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="1;2;3;4;5;6;7;8;9"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With

j'ai aussi une autre question: comment faire pour qu'une zone de
cellules(correspondant à des colonnes entières )dans une feuille ne soit
jamais pris dans la zone d'impression que définie automatiquement excel. (je
veux garder la définition automatique de la zone d'impression)

cordialement

1 réponse

Avatar
docm
Bonjour.

.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop,
Operator:= _

xlBetween, Formula1:="1;2;3;4;5;6;7;8;9"

Essaie d'utiliser la virgule comme séparateur au lieu du point-virgule.

VBA préfère peut-être le séparateur américain.

Salutations.

"laurent colledani" wrote in
message news:
bonjour

j'essaie de programmer en vba l'installation d'une validation dans une
cellule à chaque fois que je saisie une nouvelle ligne dans un tableau
excel

je me suis servie de l'enregistreur de macro pour récupérer le code.
Quand je saisie une nouvelle ligne, la flêche de la liste déroulante de la
validation se met en place Mais les valeurs que j'ai saisies directement
dans

VBA apparaissent en ligne et non en colonne dans ma liste déroulante.
Toutes

mes valeurs ne forment plus qu'une seule valeur.
quand je ferme le classeur et que je l'ouvre de nouveau, les valeurs sont
cette fois bien sur une colonne.

pourquoi dès l'activation du programme VBA, les valeurs ne se positionnent
pas aussitôt en colonne ?

je donne mon code pour plus de clarté:

Cells(Target.Row, 8).Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop,
Operator:= _

xlBetween, Formula1:="1;2;3;4;5;6;7;8;9"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With

j'ai aussi une autre question: comment faire pour qu'une zone de
cellules(correspondant à des colonnes entières )dans une feuille ne soit
jamais pris dans la zone d'impression que définie automatiquement excel.
(je

veux garder la définition automatique de la zone d'impression)

cordialement