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

Contribuez Discussion :

A l'aide de 2 listes déroulantes et sans VBA - Comment rechercher une information dans une base de données.


Sujet :

Contribuez

  1. #1
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut A l'aide de 2 listes déroulantes et sans VBA - Comment rechercher une information dans une base de données.
    Nous aimerions rechercher une société indifféremment par son nom ou par son numéro de TVA et ce à l'aide de 2 listes déroulantes bien distinctes.

    Les données
    Nous avons une base de données qui fait référence à la plage B4:H8 et que nous allons nommé bd.
    Le champ Nom se trouve à la colonne B et le champ TVA en colonne F. Ces champs sont nommés respectivement db_Nom et db_TVA. Enfin, la plage B3:H3 contient les étiquettes des champs et sera nommée db_Fields (exemple en B3, Nom, C3, Adresse, .....F3 TVA
    L'outils
    Pour permettre l'utilisation de deux listes déroulantes, nous allons utiliser le contrôle liste déroulante de l'outil formulaire et nous allons nommé une cellule cnRow qui fera référence par exemple à la cellule D11.

    Pour dessiner une liste déroulante
    1. Sélectionner le contrôle liste déroulante dans les contrôles formulaire
      Pour Excel 2003. Sélectionner Zone de liste déroulante dans la barre d'outil Formulaires. (Affichage/Barres d'outils-Formulaire)
      Excel 2007 et 2010. Dans le groupe Contrôle de l'onglet [Developpeur], cliquer sur insérer Zone de liste déroulante de Contrôles de formulaire.
    2. Dessiner les deux listes
    3. Une fois les listes dessinées, clic droit sur le contrôle , sélectionner Format de contrôle et l'onglet [Contrôle]
      Remplir les valeurs des propriétés
      Plage d'entrée : On indiquera db_Société pour l'une et db_Tva pour l'autre
      Cellule liée : pour les deux listes cnRow.
    Nous pouvons déjà tester nos liste déroulantes en cliquant sur l'une ou l'autre.
    Dès que nous sélectionnons un élément de la liste, nous voyons un nombre s'afficher en cellule D11 (cnRow) qui correspond à sa place dans la liste c'est à dire finalement au numéro de ligne dans la base de données.
    Il ne nous reste plus qu'à afficher les informations de la base de données sélectionnées par une des listes déroulantes.
    En B11, nous allons taper Nom et en B12 la formule suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX(db;cnRow;EQUIV(B11;db_Fields;0))
    Il suffit ensuite en B12 et lignes suivantes de taper un autre nom d'étiquette et tirer la formule de B12 vers le bas.
    La fonction INDEX a comme 2ème argument le n° de ligne qui est donné par la cellule liée (cnRow) de l'outil Liste déroulante

    Un classeur excel en exemple illustre cette contribution.
    Fichiers attachés Fichiers attachés
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Bien fait et bien expliqué, Bravo
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  3. #3
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour et merci Mercatog,
    Cela fait toujours plaisir.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  4. #4
    Membre confirmé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 214
    Points : 522
    Points
    522
    Par défaut Félicitation pour le tutoriel
    Bonjour,

    Je viens de faire lecture de ton sujet qui est tres interessant.
    Je ne connaissais pas l'utilité de la fonction INDEX mais une question me vient à l'esprit.
    Quelle différence avec la fonction : RechercheH qui me semble etre identique ?

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Il y a une grande différence entre les formules RECHERCHEV ou RECHERCHEH et INDEX.
    La formule INDEX renvoie la valeur de la cellule qui se trouve à l'intersection de la ligne et de la colonne d'une plage de données.
    Dans l'exemple expliqué dans cette discussion, nous avons le numéro de la ligne renvoyé par le contenu de la cellule cible de l'outil formulaire.
    La formule INDEX combinée avec les formules EQUIV est bien plus souple que les formules RECHERCHEH et RECHERCHEV.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  6. #6
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    Salut Philippe,

    Bien vu, très clair, simple et puissant, sans VBA en plus

    Tu peux rajouter 2013 après 2007 et 2010, c'est idem à ce niveau

    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour Didier et merci pour le retour.
    Je n'ai pas encore testé 2013 mais j'espère ne pas trop tarder.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. Réponses: 7
    Dernier message: 28/03/2013, 16h13
  2. récuperer les données cochées dans une listbox dans une nouvelle liste
    Par Lost_in_VBA dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/07/2011, 12h12
  3. Parametrer un item à l'aide de 2 liste déroulante.
    Par thierryakaguy dans le forum IHM
    Réponses: 4
    Dernier message: 31/07/2009, 16h21
  4. Comment tester la présence d'une valeur dans une liste?
    Par jeo13 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/06/2008, 16h09
  5. Réponses: 4
    Dernier message: 07/08/2006, 17h01

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