Alimentation de validation de cellule par VBA
Résolu/Fermé
A voir également:
- Alimentation de validation de cellule par VBA
- Ethernet n'a pas de configuration ip valide - Guide
- Excel cellule couleur si condition texte - Guide
- Excel compter cellule couleur sans vba - Guide
- Aller à la ligne dans une cellule excel - Guide
- Verrouiller cellule excel - Guide
4 réponses
C'est super fantastique,
VBA est dans quel pays par défaut ? ^^
J'avais pas pensé au "syndrôme options régionales".
Il aura fallut se dépatouiller avec un séparateur différent et valable pour tous le monde...
(virgule) et pas le séparateur de liste des options régionales... c'est noté
Merci beaucoup, çà marche très bien maintenant...
VBA est dans quel pays par défaut ? ^^
J'avais pas pensé au "syndrôme options régionales".
Il aura fallut se dépatouiller avec un séparateur différent et valable pour tous le monde...
(virgule) et pas le séparateur de liste des options régionales... c'est noté
Merci beaucoup, çà marche très bien maintenant...
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 714
23 nov. 2009 à 21:37
23 nov. 2009 à 21:37
bonjour
C'est dur d'arriver à lire ce pavé mais je suis allé jusqu'au bout et resté sur ma faim.
Ce que tu trouves fantastique c'est le fonctionnement normal d'une liste de validation et je ne vois guère de problème nécessitant une bouteille à la mer.
C'est dur d'arriver à lire ce pavé mais je suis allé jusqu'au bout et resté sur ma faim.
Ce que tu trouves fantastique c'est le fonctionnement normal d'une liste de validation et je ne vois guère de problème nécessitant une bouteille à la mer.
Hello,
C'est que tu n'as pas vu le problème
Je crains qu'en effet tu sois resté sur ta faim si tu as manqué cette phrase.
Sauf erreur, ce n'est pas le fonctionnement attendu d'une liste de validation.
Pour être plus synthétique, (je sais pas si je vais y arriver, mais bon :D)
J'alimente la liste de validation d'une cellule avec une chaîne de caractère qui ressemble à çà : "Prenom1;Prénom2;Prénom3;" placée dans ListVal
Et j'obtient une liste à une seule ligne qui contient ma chaine de caractère complète ni plus ni moins.
Alors que je devrait avoir trois lignes.
Si c'est plus clair on peux continuer pour arriver au truc fantastique:
Si ensuite j'édite cette cellule non plus par VBA mais par l'éditeur standard Menu Données -> Validation, sans rien modifier mais en choisissant juste Ok, Alors miracle la liste déroulante est remise en forme et présente bien autant de ligne que j'ai de prénom. (En choisissant Annuler évidemment çà marche pas)
Le problème c'est que je me vois mal dire à l'utilisateur qu'il doit repasser par l'édition de la liste de validation de sa cellule dés qu'il veut en choisir une valeur.
Le problème vient peut-être parce que j'utilise mal la méthode Add de l'objet Validation, ou peut-être une mauvaise syntaxe dans ma chaîne de caractère au moment où j'initialise ma liste.
Ou autre chose, que sais-je... on en apprend tous les jours.
Et non, désolé c'est encore un petit pavé... dans la marre
C'est que tu n'as pas vu le problème
Je crains qu'en effet tu sois resté sur ta faim si tu as manqué cette phrase.
Côté utilisateur, le résultat est présenté comme une seule ligne dans la liste déroulante avec tous les prénoms encore séparés par le ';'.
Sauf erreur, ce n'est pas le fonctionnement attendu d'une liste de validation.
Pour être plus synthétique, (je sais pas si je vais y arriver, mais bon :D)
J'alimente la liste de validation d'une cellule avec une chaîne de caractère qui ressemble à çà : "Prenom1;Prénom2;Prénom3;" placée dans ListVal
valTarget.Add xlValidateList, xlValidAlertStop, Operator:=1, Formula1:=ListVal
Et j'obtient une liste à une seule ligne qui contient ma chaine de caractère complète ni plus ni moins.
Alors que je devrait avoir trois lignes.
Si c'est plus clair on peux continuer pour arriver au truc fantastique:
Si ensuite j'édite cette cellule non plus par VBA mais par l'éditeur standard Menu Données -> Validation, sans rien modifier mais en choisissant juste Ok, Alors miracle la liste déroulante est remise en forme et présente bien autant de ligne que j'ai de prénom. (En choisissant Annuler évidemment çà marche pas)
Le problème c'est que je me vois mal dire à l'utilisateur qu'il doit repasser par l'édition de la liste de validation de sa cellule dés qu'il veut en choisir une valeur.
Le problème vient peut-être parce que j'utilise mal la méthode Add de l'objet Validation, ou peut-être une mauvaise syntaxe dans ma chaîne de caractère au moment où j'initialise ma liste.
Ou autre chose, que sais-je... on en apprend tous les jours.
Et non, désolé c'est encore un petit pavé... dans la marre
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 714
24 nov. 2009 à 08:25
24 nov. 2009 à 08:25
bonjour
je la recréé avec une liste de prénom contenus dans ListVal et déjà séparés par des ';' (points virgules)
C'est bien là le problème.
Lorsque tu fait une validation manuelle, tu es en français avec séparateur "point virgule" car la virgule est séparateur décimal.
Lorsque tu es en VBA, le séparateur à utiliser est la virgule : "Prenom1,Prénom2,Prénom3" ainsi cela fonctionnera de façon "fantastique".
je la recréé avec une liste de prénom contenus dans ListVal et déjà séparés par des ';' (points virgules)
C'est bien là le problème.
Lorsque tu fait une validation manuelle, tu es en français avec séparateur "point virgule" car la virgule est séparateur décimal.
Lorsque tu es en VBA, le séparateur à utiliser est la virgule : "Prenom1,Prénom2,Prénom3" ainsi cela fonctionnera de façon "fantastique".