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 :

Validation de données [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    débutant
    Inscrit en
    Février 2012
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : débutant
    Secteur : Alimentation

    Informations forums :
    Inscription : Février 2012
    Messages : 88
    Par défaut Validation de données
    Bonjour,
    Pour la réalisation d'un cahier de recette destiné à mes élèves, j'ai un bouton sur une feuille excel leurs permettant d'insérer un model de recette vide avec titre, nombre d'ingrédient, calcul du poids etc...
    Pour faciliter la saisie des ingrédients je formate la cellule en liste avec la validation des données.
    Ça fonctionne très bien sur la cellule désignée dans mon code ("A1" dans l'exemple)
    L'adresse des cellules d'ingrédient est toujours dans la première colonne mais les lignes augmentent avec le nombre d'ingrédient demandé.
    Les cellules autres que "A1" ont la liste mais pas le tri ni la recherche avec la première lettre du mot.
    Voici mon code :
    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
    16
    17
    ' declare un objet range ingredient
        Dim CelluleIngredient As Range
        Set CelluleIngredient = Range("A" & ligne & ":A" & ligne + (nbr_ing - 1))
        With CelluleIngredient.Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:= _
            "=SI(A1<>"""";DECALER(FONCTION;EQUIV(A1&""*"";FONCTION;0)-1;;NB.SI(FONCTION;A1&""*"");1);FONCTION)"
            .IgnoreBlank = True
            .InCellDropdown = True
            .InputTitle = ""
            .ErrorTitle = ""
            .InputMessage = ""
            .ErrorMessage = ""
            .ShowInput = True
            .ShowError = False
        End With
    Comment je peux faire pour concaténer "CelluleIngredient" dans la formule "=Si...."
    J'ai déjà essayé avec les guillemets, &, mais rien ne fonctionne, c'est pour ca que je fais un appel à l'aide et vous remercie d'avance de votre attention.
    Robert

  2. #2
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    Bonjour

    Depuis la version 2003 et surtout 2007 on utilise des tableaux structurés tant comme source de listes de validations (cela évite la maintenance, en dehors du tri qui peut être réalisé manuellement quand ou saisit un nouvel item ou par VBA si l'ajout est géré par VBA) que pour faire des tableaux.

    Les formats (dont validation) et formules s'y recopient automatiquement sur toute nouvelle ligne insérée...

    Je pense donc que tu devrais t'y pencher https://fauconnier.developpez.com/tu...ux-structures/

  3. #3
    Membre confirmé
    Homme Profil pro
    débutant
    Inscrit en
    Février 2012
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : débutant
    Secteur : Alimentation

    Informations forums :
    Inscription : Février 2012
    Messages : 88
    Par défaut
    Bonsoir 78chris,
    Comme tu me l'as conseillé, j'ai parcouru le tutoriel sur les tableaux structurés.
    Je comprends bien l’intérêt du tableau et c'est un moyen que j'utiliserais maintenant.
    j 'ai de nouveau essayé de transformer une cellule en combo box et ça fonctionne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    With Selection.Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:="=INDIRECT(""Tableau1[Colonne1]"")"
            .IgnoreBlank = False
            .InCellDropdown = True
            .InputTitle = ""
            .ErrorTitle = ""
            .InputMessage = ""
            .ErrorMessage = ""
            .ShowInput = True
            .ShowError = False
        End With
    Le problème est que je n'ai pas la formule pour afficher dans le combo box les mots avec les premières lettres tapées.
    Celle que j'avais depuis un tuto n'est pas applicable, la fonction decaler par exemple n'as plus d’intérêt.
    Robert

  4. #4
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    RE

    Ton code fait appel à FONCTION dont on ignore où il c'est défini donc difficile de visualiser ce que tu fait

    Tu parles de validation et de combo box... As-tu mis les 2 ?

    Un tableau se nomme (on ne laisse pas le nom automatique Tableau1) et en principe on a des en-têtes signifiants pas Colonne 1 etc

    Jiins éventuellement un exemple représentatif de ton cas...

  5. #5
    Membre confirmé
    Homme Profil pro
    débutant
    Inscrit en
    Février 2012
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : débutant
    Secteur : Alimentation

    Informations forums :
    Inscription : Février 2012
    Messages : 88
    Par défaut
    Ton code fait appel à FONCTION dont on ignore où il c'est défini donc difficile de visualiser ce que tu fait
    oui bien sur comme je l'ai dit dans mon message précédent c'est copié d'un tuto...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FONCTION=DECALER(depart;0;0;NBVAL(colonne);1)
    Tu parles de validation et de combo box... As-tu mis les 2 ?
    Non juste validation, j'ai nommé par défaut combo box à cause de l'aspect de la cellule.

    Un tableau se nomme (on ne laisse pas le nom automatique Tableau1) et en principe on a des en-têtes signifiants pas Colonne 1 etc
    Oui ca pas de problème j'ai lu les conseil du tuto c'était juste pour l'exemple

    Jiins éventuellement un exemple représentatif de ton cas...
    ?

    Merci

  6. #6
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    RE

    Si j'ai bien compris ton besoin, voici un exemple à comprendre et coder ensuite
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. [Excel] Validation de données
    Par ptitsoleil87 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 21/12/2005, 19h35
  2. Problème de validation de données
    Par loutsky dans le forum Access
    Réponses: 3
    Dernier message: 23/11/2005, 14h11
  3. validation de donnée... et post
    Par sonialem2000 dans le forum Bases de données
    Réponses: 12
    Dernier message: 13/07/2004, 02h34
  4. dbgrid AND validation des données
    Par samlerouge dans le forum Bases de données
    Réponses: 10
    Dernier message: 11/06/2004, 23h08
  5. Validation de données à partir d'un XML Schema
    Par leup dans le forum Valider
    Réponses: 2
    Dernier message: 10/06/2004, 08h30

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