Renvoi de données d'une feuille à une autre

Bonjour,

Je pense que la réponse a déjà été faite mais je n'arrive pas à la retrouver sur le forum.

Voici mon questionnement :

J'ai dans une première feuille une liste de noms avec des éléments (âge, cp, ville) dans les autres colonnes.

Je souhaiterais avoir dans la feuille 2 un menu déroulant avec les noms, en le sélectionnant, la ligne de données âge, cp, ville correspondante soit reprise.

Quelqu'un aurait une réponse ?

Merci d'avance.

Juventina

Bonjour,

tu peux utiliser la fonction =rechercheV mais il faut trier les noms par ordre alpha où

utiliser la fonction index combiner avec equiv.

Un fichier serait plus facile pour expliquer.

A +

J'ai fait un fichier test avec quelques noms (pour avoir le principe car le fichier que j'ai sur lequel je dois travailler compte 7500 noms et je ne l'ai pas sous la main). L'idée est donc de reporter, après avoir sélectionné les noms, les données correspondants à ces noms en feuille 2.

Merci pour votre aide.

93contacts.xlsx (8.69 Ko)

Bonsoir,

Alors voila j’explique

En premier j’ai donné un nom a chaque plages ; exemple pour les prénoms en feuille 1 colonne B j’ai appelé cette plage prénom et me suis servie de la fonction decaler exemple =DECALER(Feuil1!$B$1;1;0;NBVAL(Feuil1!$A:$A)-1;1)

Pour la colonne C j’ai nommé Age et toujour la fonction decaler exemple

=DECALER(Feuil1!$C$1;1;0;NBVAL(Feuil1!$A:$A)-1;1)

Si tu regarde bien c’est la même formule sauf apres le premier dollar la lettre a changer

Tu fais cela pour chaque plage

Aussi en feuil1 tu à vue j’ai mis en colonne A des N° il faut les mette car en faite cela va te servir comme clef de recherche comme dans access

En feuil2

J’ai créé une liste déroulante (control formulaire)

Dans le Format de control de cette liste déroulante en plage d’entrée j’ai mis le nom donnée a la plage prénom et j’ai mis cellule liée A1 dans la même feuil

Maintenant dans le tableau ou tu a mit prénom, age, cp, ville

Dans la cellule C3 j’ai donnée une instruction qui est la suivante : =INDEX(prénom;A1)

Pour D1 =INDEX(Age;A1)

Ce qui veut dire en gros en cellule C3 je vais rechercher le nom d’une plage et ma référence sera la cellule A1

La fonction decaler que j’ai mis dans les plages nommé sert a pourvoir incrémenter automatiquement la plage exemple tu rajoute un prénom la plage va reprendre automatiquement le nouveau prénom que tu aura ajouté mais ne pas oublier de rajouter le N° en A1 (clef)

voila j'espére avoir pu t'aider mais si tu a une grande liste je ne pense pas qu'un menu déroulant soit la meilleur façon de faire

Merci beaucoup pour ces explications.

Tu aurais une meilleure solution ?

Bonjour,

essaye avec ceci mais la j'ai mit deux fonction en VBA

si cela te convient alors je te donnerais les explications voulu

aussi quand tu fait la recherche et que tu a trouvé tu fait un double clik le reste ce fait

97contacts1.zip (13.92 Ko)

Tout d'abord merci de prendre le temps de faire tout ça... C'est super.

En fait mon problème c'est que j'ai une liste de 7500 noms et que je cherche à extraire juste une 15aine de noms environ à chaque fois avec les références correspondantes en feuille 2 à la suite...

Y-a-t-il une possibilité supplémentaire de faire une 2ème, puis une 3ème et x recherche à la suite pour constituer un nouveau tableau ?

Merci d'avance pour ton retour.

ok je regarde ce que je peut faire

je te donne suite un peu plus tard

marc

-- 05 Juil 2011, 04:13 --

Bonjour,

un peut tard excuse

voici quand tu recherche et que tu double click cela ce rajoute automatiquement a la liste

92contacts2.zip (15.01 Ko)

Merci beaucoup quand on clique 2 fois cela renvoie à la ligne, c'est tout à fait cela que je voulais... Encore merci.

Aurais-tu le détail du VBA ?

Re Bonjour,

alors pour commencé tu reprend les premiére explications que je t'avais donnée

la j'ai changer la cellule A1 qui fesait référence a la clef de recherche, j'ai créé une feuil appeler Param ou en cellule B5 je l'ai nommé (Param_ligne) cette cellule donc a remplacer ta clef de recherche cela est tres important

puis tu clik droit sur l'onglet feuil1 et tu visualise le code

la une fenetre s'ouvre et tu choisis en haut Worsheet et a coté tu ouvre une liste et tu choisis BeforeDoubleClik

puis tu vera la fenetre ou il est marquer Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

et tu rajoute le reste de ce code:

Sheets("Param").Range("Param_ligne").Value = Target.Row - 1

Sheets("Feuil2").Select

End Sub

en faite cela en clair veut dire que tu selection la feuil (Param) et que tu appel la cellule B5 qui est nommé Param_ligne et prend la valeur indiquer dans cette cellule, valeur qui correspond au n°de ligne de ta feuil1 et la copy dans ta feuil2

voila et aussi en fesant comme expliquer pour visualisé le code tu aura aussi les autres données en VBA

marc

-- 11 Juil 2011, 15:49 --

PS,

je pense qu'il dois avoir plus simple, mais suis a mes debut en VBA car j'étudie ici sur ce site, alors excuse si je ne peut faire mieux

marc

Rebonjour Marc,

Peux-tu stp voir ce qui ne va pas dans mon fichier ? Je pense en effet avoir oubliée plusieurs choses mais je ne sais pas bien où...

Bonjour,

voici tout est fonctionnel

reste dispo si des questions

marc

29contacts22.zip (32.40 Ko)

Merci beaucoup. ça a du te prendre un temps fou. Encore merci.

-- 13 Juil 2011, 16:17 --

J'ai une question si j'ajoute une colonne de données comme "date de validité du passeport" dans bd personnel. Peux-tu me dire décrire ce que je dois faire pour que dans sélection cela apparaisse.

Merci.

-- 13 Juil 2011, 16:18 --

Il se peut que j'ai d'autres colonnes d'info à ajouter par la suite...

Bonjour, oui tu peut tout faire mais faudra modifiez les codes

et comment modifie-t-on le code ?

ben cela il faut deja voir ou tu veut changer qu'elle fonction etc ...

dit moi qu'elle feuil ou tu veut intervenir et je ferais mon possible pour t'expliquer et comment faire

car tu sait suis aussi a mes debut il y a moin de 3 mois je ne savais rien de tout cela

Je souhaite ajouter une colonne de données "date de validité du passeport" dans bd personnel, puis dans consultation et reprendre cette donnée dans sélection.

Voila pour changer dans une macro VBA il faut faire la touche ALT suivie de F11 ou encore click droit sur l'onglet de ta feuil et choisir visualisé le code,

ATTENTION tout changement dans le code peut annuler le bon fonctionnement de la macro, il faut bien essaye de comprendre avant de faire le changement

aussi si tu regarde bien tes feuilles tu verra il y a des lignes et des colonnes qui sont masqués exemple si tu regarde bien ta feuil sélection tu verra que tu à colonne A,B,C,D et tu te retrouve direct avec la colonne V et W en faite les colonne manquantes sont pas supprimer mais simplement masqué, et oui je me suis bien douté que tu voudrais un peu plus sur cette feuil sélection, donc en faite toutes les données de la personne choisis sont sur cette feuil mais j'ai simplement masquer les données que tu ne voulais pas, pour les voir il te suffit d'aller a l'intersection de 2colonnes et quant tu voie la flèche de ta souris devenir deux bar Parallèle tout en tenant le bouton de la souris enfoncé tu étire vers la droite et la tu verra le contenue de la colonne qui était caché

cela dit j’ai moi-même modifier le classeur comme tu voulais

j’espère avoir réussis à t’aider au maximum et reste à l’écoute pour toutes questions

marc

20contacts22.zip (32.92 Ko)

Bonjour Marc,

Ma question portait sur le fait d'ajouter une nouvelle colonne de données qui n'existe pas dans bd personnel.

Merci.

Bonjour,

tu peut toujours rajouté autant de colonnes que tu le desir, le probléme tu devra alors a chaque fois modifier les macro ainsi que les feuilles selon les besoins

Rechercher des sujets similaires à "renvoi donnees feuille"