IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

liste de validation / séparateur ";" ou "," ?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 2
    Par défaut 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...

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  2. #2
    Nouveau candidat au Club
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 2
    Par défaut
    Bonjour à tous,

    Personne n'a une idée à me proposer ?

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo