Données d'une combobox

Résolu/Fermé
isabelle - 7 oct. 2012 à 17:29
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 14 oct. 2012 à 12:52
Bonjour,

J'ai créé un comboxbox nommée : MAM, je la rempli avec une base de données d'une feuille de mon classeur, une fois que je selectionne un élément de la combo, j'aimerais que le reste des données s'affichent dans ma nouvelle feuille. Qu'elle est la méthode?
Ex: Base de données : Nom, Adresse, Ville, Téléphone. Feuil1
Feuil2 Ma combo = à la plage des noms B2 : X2. ça c'est bon
si je selectionne dans ma combo le 4em noms, je n'arrive pas à remplir les cellules de la feuil2 avec les données du 4em nom. J'ai essayé avec RECHERCHV (MAM;feuil2....) mais il m'affiche le Nom dans ma cell et pas le reste. Merci pour votre aide, la je tourne en rond.


3 réponses

eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 254
Modifié par eriiic le 7/10/2012 à 20:44
Bonjour,

c'est justement les ... dans recherchev() qui sont importants.
ex :
=RECHERCHEV(A2;Feuil1!$A$2:$E$23;2;FAUX)
Ramène la colonne 2 (Adresse)

et si tu veux éviter les #N/A si le nom est non trouvé :
=SI(NB.SI(Feuil1!$A$2:$A$23;A2)=0;"";RECHERCHEV(A2;Feuil1!$A$2:$E$23;2;FAUX))

Et si toujours pb, dépose ton fichier anonymisé sur cjoint.com et colle ici le lien fourni.

eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
1
Merci Eric,

J'ai testé et cela marche.
Par contre un autre pb, existe t-il une méthode ou un code VB pour rechercher une valeur égale au nom d'une feuille.
Je m'explique, dans une feuille RAPPORT j'ai une combobox avec des villes qui correspondent à des tournées.
Je sélectionne une ville et j'aimerais charger dans une cellule les clients/prospects de la feuille qui porte le même nom de ville.
EX : combo :PARIS
LILLE
BORDEAUX
Je sélectionne LILLE, j'ai une feuille nommée LILLE avec des clients.
Je voudrais charger dans chaque ligne de mon Rapport les clients de cette ville sous forme de liste déroulante avec fonction DECALER en semi auto.
Je sais j'abuse.
Merci d'avance.
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 254
7 oct. 2012 à 23:45
Heuuu, si j'ai bien compris tu ne pourras pas faire un décalage de feuille avec décaler()
Et le nom de la feuille sur laquelle tu es ne te servira à rien je pense.

Avec ton nom de feuille en A1 :
=INDIRECT(A1&"!B1") te ramène B1 de cette feuille.
avec l'inconvénient que la référence reste fixe sur recopie de la formule.

Tu peux l'améliorer sur ce point avec :
=INDIRECT(ADRESSE(ligne;colonne;;;$A$1))
ligne: fixe ou : ligne()+offset
idem pour colonne
ex : =INDIRECT(ADRESSE(LIGNE()+1;COLONNE()+2;;;$A$1))
LIGNE() étant le n° de ligne où est ta formule, tu ramèneras les valeurs de l'autre feuille situées 1 ligne plus bas
idem pour colonne()

eric
0
Bonjour eric,
non je veux pas utiliser decaler pour une feuille mais pour la ligne ou ma liste sera effective.
Ce que je cherche c'est pointer sur la bonne feuille à partir d'une saisie ou d'une combo avec une liste.
Je sais pas si je m'explique bien. regardes mon msg précedent.
Ex : je saisi LILLE dans ma feuille Rapport, ds ce meme classeur j'ai des feuilles nommées LILLE, PARIS,ETC...avec une table clients dans chacune d'elles Je veux pointer sur la bonne feuille LILLE avec ma saisie ou ma liste déroulante et aprés dans chaque ligne de mon Rapport entrer la fonction DECALER....pour incrémenter mes clients avec la saisie semi-auto (ce que je sais faire). J'ai essayé avec la méthode recherche mais le vecteur recherche ici(secteur) doit être un nom donné d'une colonne que si tu sais sur quelle feuill tu pointes or moi je le sais qu'au moment de la saisie.
=SI(MAM<>"";RECHERCHE(MAM;SECTEUR;ADRES);"")
=SI(A16<>"";DECALER(d_Libellé;EQUIV(A16&"*";l_Libellé;0)-1;;SOMMEPROD((STXT(l_Libellé;1;NBCAR(A16))=TEXTE(A16;"0"))*1));l_Libellé) ça c'est ok
Voilà mon PB
Isabelle
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 254
Modifié par eriiic le 8/10/2012 à 13:38
Bonjour,

nom de la feuille :
=STXT(CELLULE("nomfichier";A1);TROUVE("]";CELLULE("nomfichier";A1))+1;20)

sinon dépose ton fichier avec les explications (réduit et anonymisé) sur cjoint.com et colle ici le lien fourni.

eric
0
Ok, j ai jamais fait cela, je vais sur cjoint.com et je dépose mon lien sur ce site c est ça?
Pourtant je suis pas blonde. Merci d avance
0
ViriisXP Messages postés 482 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 11 janvier 2023 40
7 oct. 2012 à 17:58
bonjour, envoi ton fichier sur dl.free.fr pour une meilleur explication et past le lien ici.
0
Merci j'ai utilisé la méthode d'Eriiic et ça marche.
0
Merci Eric,

J'ai testé et cela marche.
Par contre un autre pb, existe t-il une méthode ou un code VB pour rechercher une valeur égale au nom d'une feuille.
Je m'explique, dans une feuille RAPPORT j'ai une combobox avec des villes qui correspondent à des tournées.
Je sélectionne une ville et j'aimerais charger dans une cellule les clients/prospects de la feuille qui porte le même nom de ville.
EX : combo :PARIS
LILLE
BORDEAUX
Je sélectionne LILLE, j'ai une feuille nommée LILLE avec des clients.
Je voudrais charger dans chaque ligne de mon Rapport les clients de cette ville sous forme de liste déroulante avec fonction DECALER en semi auto.
Je sais j'abuse.
Merci d'avance.
0