liste de validation / séparateur ";" ou "," ?
Bonjour à tous,
Je rencontre un problème sur une macro Excel2003 VBA concernant les listes de validations. Je n'ai pas trouvé ce sujet dans le forum alors je tente la coup !
Ce que je souhaite faire (en utilisant la même fonction VB) :
1) lors de la création de nouvelles lignes d'un tableau, ajouter automatiquement dans certaines cellules une liste de choix de validation (par exemple les choix "A;B;C").
2) Modifier la liste de choix déjà existante dans les lignes qui existent déjà pour obtenir les mêmes validations.
J'ai parfaitement réussi à le faire en passant par une fonction que j'appelle depuis 2 macro distinctes, mais le problème que je rencontre est le suivant :
- sur les lignes nouvellement créées, pour que ça marche je dois écrire le code en utilisant des "," pour séparer les valeurs de la liste, sinon ça m'affiche uniquement dans la cellule le choix en ligne "A;B;C" et non en liste
- sur les lignes déjà existantes à remettre à jour, je dois écrire le code avec des ";" pour que ça marche, sinon, j'obtiens dans la cellule le choix en ligne "A,B,C" et non en liste...
En parcourant l'aide VB Excel, j'ai bien compris qu'on devait utiliser des "," en VB pour que ça marche. Mais on doit aussi utiliser des ";" directement dans Excel en manuel. Comme ça marche pas tout le temps, il ya une nuance qui m'échappe...8O
Un autre élément bizarre, c'est que lorsque j'utilise les ";" pour que les valeurs s'affichent en liste, il suffit que j'aille modifier manuellement les validations par le menu, puis "enter" et ça marche.
ALors ma question est simple : que faut-il utiliser ? des "," ou des ";" ??? Y a-t-il une option que je n'aurai pas activée ? comment avoir la même fonction pour gérer indépendament les 2 types d'entrée ??? Est-ce que ça pourrait avoir un rapport avec les paramètres régionaux ???
Une dernière précision que je souhaite rajouter... lorsque je mets des "," dans le code, ça marche pour les 2 cas en mode debogage pas à pas, mais en éxecution normale, ça ne le fait pas... il ya peut-être une piste ? Mon fichier étant assez complexe, il ya peut-être des options qui crééent ce soucis ?
Voici une partie de mon code dans la fonction de mise en forme :
Code:
1 2 3 4 5 6
| With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="A,B,C"
.IgnoreBlank = True
.InCellDropdown = True
End With |
Merci pour votre aide. :?