Liste de validation Excel en VBA [Résolu]

cs_lucio57
Messages postés
146
Date d'inscription
lundi 10 février 2003
Dernière intervention
25 juillet 2007
- 4 août 2005 à 09:09 - Dernière réponse : cs_lucio57
Messages postés
146
Date d'inscription
lundi 10 février 2003
Dernière intervention
25 juillet 2007
- 4 août 2005 à 09:27
Bonjour,
Je voudrais placer dans un fichier Excel des listes de validation. Je cherche à mettre cela par macro. Pour le faire je crée une macro en automatique dans Excel, je la copie et je la colle dans mon code.
Quand je fais cela la macro créée est, en imaginant que je cherche à mettre les valeurs 1, 2 et 3
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="1;2;3"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With

Mon problème c'est qu'après execution de mon code, il me crée bien une liste mais celle ci contient une seule ligne avec la 1;2;3. Si je retourne dans données validation, que j'appuie sur OK sans modifier quoi que ce soit il me remet la liste en forme sur 3 lignes. Je ne comprends vraiment pas ce qu'il faut que je fasse pour résoudre ce problème en sachant que le fichier finale doit être créé en automatique selon plusieurs critères et je ne peux pas demander à l'utilisateur d'aller valider chaque cellule.

Il y a aussi la solution, où l'on stock les données de la liste dans un plage de la feuille mais je ne trouve pas cela très propre étant donné que cette liste est sur plusieurs onglets et qu'il faudrait que je place mes éléments sur chacun d'eux. Ou alors il me faudrait trouver une solution pour alimenter ma liste avec des données contenues dans un autre onglet.

J'espère avoir été clair dans mon explication.
D'avance je vous remercie pour votre aide
Afficher la suite 

2 réponses

Meilleure réponse
cs_wape
Messages postés
262
Date d'inscription
samedi 21 décembre 2002
Dernière intervention
19 décembre 2010
- 4 août 2005 à 09:16
3
Merci
Bon jour,

Essaye de remplacer les ";" par des "," dans le paramètre Formula1 :

With Selection.Validation
.Delete
.Add Type:= xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=" 1,2,3 "
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With

wape

Merci cs_wape 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

cs_lucio57
Messages postés
146
Date d'inscription
lundi 10 février 2003
Dernière intervention
25 juillet 2007
- 4 août 2005 à 09:27
0
Merci
C'est nickel ça marche merci beaucoup ! Donc pour résumer la macro qu'il me crée est fausse !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.