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 :

[VBA][Excel] code validation liste


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Points : 148
    Points
    148
    Par défaut [VBA][Excel] code validation liste
    Bonjour, voici un code que j'ai créé en enregistrant une macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
        Range("I3:I273").Select
        With Selection.validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:="P;F;A"
            .IgnoreBlank = True
            .InCellDropdown = True
            .InputTitle = ""
            .ErrorTitle = ""
            .InputMessage = ""
            .ErrorMessage = ""
            .ShowInput = True
            .ShowError = True
        End With
    Je souhaite crée dans les cellules sélectionnées un choix de valeur (ici P ou F ou A).
    Excel a cette fonction en faisant allant sur le menu :"Données" puis "Validation" puis en choisissant dans les Option liste.

    Cela fonctionne quand je le fait en manuel. En enregistrant la macro, c'est le code ci dessus. Mais dès que je l'execute en automatique dans chacune des cellules, je ne peux selectionner que P;F;A en une seule fois.

    Merci si quelqu'un peut m'aider.

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    remplace les ; par des ,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
           .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:="P,F,A"
    et pour éviter des problémes lors du lancement de la macro (classeur actif pas le bon, pas la bonne feuille) il faut "préfixer" les objets range... de plus évite l'utilisation des Select/Selection...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     Sub test()
        With ThisWorkbook.Sheets("Feuil2").Range("I3:I273").Validation
            .Delete
    ...

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Points : 148
    Points
    148
    Par défaut
    merci de ton aide, je n'avais pas pensé à modifié les ; par des ,.
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VBA Excel -Code Barre
    Par bawilar dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/03/2010, 07h32
  2. [VBA Excel] code execution has been interrupted
    Par eagleleader dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 31/08/2007, 11h46
  3. [VBA-EXCEL]Copie de listes nommées
    Par lucarno dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/07/2007, 23h51
  4. [VBA-EXCEL] Colonne de Listes déroulantes
    Par bambou dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 25/02/2007, 10h51
  5. [VBA][Excel]Hauteur de listes
    Par Pollux dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 16/01/2006, 16h39

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