Liste déroulante liée à une base de donnée
gruzlor
-
Furtif Messages postés 9956 Statut Contributeur -
Furtif Messages postés 9956 Statut Contributeur -
Bonjour,
Novice en Excel, je suis confronté à un problème qui me fait rager.
J'ai une feuille qui fait office de base de données et une feuille "Devis". Mon idée est de remplir la base de données et d'intégrer les éléments dans le devis via une liste déroulante.
Lorsque je sélectionne un item de la BD, la totalité de la ligne de mon devis se remplie (Prix, remise...) : Ca, ça fonctionne
Mais lorsque je rajoute un enregistrement à la BD, la formule de remplissage du devis se fausse :
La table de matrice de la feuille BD se décale, et le dernier enregistrement de la BD n'est pas pris en compte. Commment toujours avoir une table à la bonne dimension??? (Le O1000 n'est pas très élégant non plus...)
Merci par avance pour votre aide.
A plus
Novice en Excel, je suis confronté à un problème qui me fait rager.
J'ai une feuille qui fait office de base de données et une feuille "Devis". Mon idée est de remplir la base de données et d'intégrer les éléments dans le devis via une liste déroulante.
Lorsque je sélectionne un item de la BD, la totalité de la ligne de mon devis se remplie (Prix, remise...) : Ca, ça fonctionne
Mais lorsque je rajoute un enregistrement à la BD, la formule de remplissage du devis se fausse :
=SI($A9="";"";RECHERCHEV($A9;BD!$B$4:$O$1000;2;FAUX))
La table de matrice de la feuille BD se décale, et le dernier enregistrement de la BD n'est pas pris en compte. Commment toujours avoir une table à la bonne dimension??? (Le O1000 n'est pas très élégant non plus...)
Merci par avance pour votre aide.
A plus
A voir également:
- Liste déroulante liée à une base de donnée
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Base de registre - Guide
- Liste code ascii - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
4 réponses
Bonjour,
le mieux est que sélectionnes toute cette zone et que tu la nommes par menu 'insertion / nom / définir'.
Ensuite menu 'données / liste / créer une liste' comme ça ton nom suivra les évolutions de ta liste que tu insères un item ou que tu l'ajoutes à la fin dans la ligne d'insertion *.
Utilises son nom =SI($A9="";"";RECHERCHEV($A9;nom_liste;2;FAUX))
Autre petit truc pour cette formule, remplace 2 par COLONNE() (si tu es en colonne B, sinon +1 ou -1 ou...) comme ça tu pourras faire une recopie incrémentée vers la droite pour les champs suivants.
eric
le mieux est que sélectionnes toute cette zone et que tu la nommes par menu 'insertion / nom / définir'.
Ensuite menu 'données / liste / créer une liste' comme ça ton nom suivra les évolutions de ta liste que tu insères un item ou que tu l'ajoutes à la fin dans la ligne d'insertion *.
Utilises son nom =SI($A9="";"";RECHERCHEV($A9;nom_liste;2;FAUX))
Autre petit truc pour cette formule, remplace 2 par COLONNE() (si tu es en colonne B, sinon +1 ou -1 ou...) comme ça tu pourras faire une recopie incrémentée vers la droite pour les champs suivants.
eric
Bonjour,
Dans une cellule intermédiaire de ta feuille DEVIS écris cette formule, par exemple en G7 ( à toi de trouver une cellule vide et d'adapter)
="BD!$B$4:$O$"&NBVAL(BD!$B$4:$B$65000)+3
ensuite tu transforme ta formule de RECHERCHEV comme ceci:
=SI($A9="";"";RECHERCHEV($A9;INDIRECT(G7);2;FAUX))
cordialement,
Michel
Dans une cellule intermédiaire de ta feuille DEVIS écris cette formule, par exemple en G7 ( à toi de trouver une cellule vide et d'adapter)
="BD!$B$4:$O$"&NBVAL(BD!$B$4:$B$65000)+3
ensuite tu transforme ta formule de RECHERCHEV comme ceci:
=SI($A9="";"";RECHERCHEV($A9;INDIRECT(G7);2;FAUX))
cordialement,
Michel
Plus simplement : Pour compléter ta base de données, ne te places jamais avant le premier ni après le dernier enregistrement, mais insère une ligne intercalée (quitte à refaire un tri si tu le juges utile).
Mais de toutes façons il faut appliquer la première recommandation d'eriiic : donner un nom à la BD.
Mais de toutes façons il faut appliquer la première recommandation d'eriiic : donner un nom à la BD.
Exact
- Si tu rajoutes des lignes en dehors de ta zone préalablement définie, elles ne sont pas vues.
- Si tu effaces la première ligne de ta zone définie, tout part en vrille.
Perso, je mets toujours en haut de liste : DEPART, et en bout de liste FIN, et je définis la liste en incluant ces 2 lignes, et toutes les insertions ou suppressions suivantes sont correctement traitées, du moment qu'on ne touche pas à ces 2 ligne extrèmes.
Et c'est vrai qu'il beaucoup plus pratique de nommer sa BD plutôt que de rappeler à chaque fois les coordonnées Lignes/Colonnes. De plus, ça permet de la retrouver facilement avec la touche F5.
- Si tu rajoutes des lignes en dehors de ta zone préalablement définie, elles ne sont pas vues.
- Si tu effaces la première ligne de ta zone définie, tout part en vrille.
Perso, je mets toujours en haut de liste : DEPART, et en bout de liste FIN, et je définis la liste en incluant ces 2 lignes, et toutes les insertions ou suppressions suivantes sont correctement traitées, du moment qu'on ne touche pas à ces 2 ligne extrèmes.
Et c'est vrai qu'il beaucoup plus pratique de nommer sa BD plutôt que de rappeler à chaque fois les coordonnées Lignes/Colonnes. De plus, ça permet de la retrouver facilement avec la touche F5.