Lien entre 2 classeurs et recherche de valeurs

Fermé
Signaler
Messages postés
13
Date d'inscription
dimanche 28 octobre 2007
Statut
Membre
Dernière intervention
3 janvier 2015
-
Messages postés
13
Date d'inscription
dimanche 28 octobre 2007
Statut
Membre
Dernière intervention
3 janvier 2015
-
Bonjour à tous !

Dans le classeur1, j'ai en colonneA le nom des personnes et en colonneB leur longueur de pied.

Dans le classeur2, lorsque je tape le nom d'une personne,
- si la personne est dans la base de données, je souhaite avoir la longueur de pied correspondante,
- sinon ouvrir le classeur1 pour créer une nouvelle ligne pour cette personne

Rien que pour la 1è étape du SI, je ne 'en sors pas...
J'ai essayé:
RECHERCHEV(A1;'[Classeur1.xls]feuille1'!$A:$A;'[Classeur1.xls]feuille1'!$B:$B;FAUX)
Ou avec RECHERCHE et des plages de cellule définis mais je n'y arrive pas non plus.

Pourriez-vous m'aider svp ?

Merci d'avance,
Bonne journée !

PS: j'ai simplifié le problème car j'ai des fusions de cellule et je me demande si ce n'est pas ça le problème.

4 réponses

Messages postés
128
Date d'inscription
samedi 4 août 2012
Statut
Membre
Dernière intervention
22 septembre 2020
4
Bonjour,

Il faut que tu spécifies le numéro de la colonne dans la cellule défini pas le champ.

Donc ça ressemblerait à

recherchev(A1;'[Classeur1.xls]feuille1'!$A:$B;2;faux)

Bonne journée
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
13
Date d'inscription
dimanche 28 octobre 2007
Statut
Membre
Dernière intervention
3 janvier 2015

Merci ça marche ! Quelle réactivité, au top !
Messages postés
13
Date d'inscription
dimanche 28 octobre 2007
Statut
Membre
Dernière intervention
3 janvier 2015

Par contre, j'ai un problème pour les cellules fusionnées:
En A1 & A2 qui sont fusionnées, j'ai mon nom de personne. En B1 j'ai la longueur du pied, en B2 la largeur.

Du coup, la formule marche pour la longueur, pas pour la largeur car c'est la ligne d'en dessous...

As-tu une solution ?
Messages postés
127
Date d'inscription
dimanche 2 novembre 2014
Statut
Membre
Dernière intervention
20 janvier 2015
3
Bonjour,

Ta recherchev est erronée:
>> RECHERCHEV(A1;'[Classeur1.xls]feuille1'!$A:$B;2;FAUX) fonctionnera mieux.

Pour ce qui est d'ouvrir le classeur1, je regarde ça de suite ;)
Messages postés
127
Date d'inscription
dimanche 2 novembre 2014
Statut
Membre
Dernière intervention
20 janvier 2015
3
Yrmouf a été plus rapide que moi.
Messages postés
13
Date d'inscription
dimanche 28 octobre 2007
Statut
Membre
Dernière intervention
3 janvier 2015

Merci !
Par contre, j'ai un problème pour les cellules fusionnées:
En A1 & A2 qui sont fusionnées, j'ai mon nom de personne. En B1 j'ai la longueur du pied, en B2 la largeur.

Du coup, la formule marche pour la longueur, pas pour la largeur car c'est la ligne d'en dessous...

As-tu une solution ?
Messages postés
127
Date d'inscription
dimanche 2 novembre 2014
Statut
Membre
Dernière intervention
20 janvier 2015
3
Je viens de fouiner dans les formules excel:aucune ne permet d'ouvrir un fichier.
Il te faudra donc passer par une macro.
Sinon, lorsque le résultat de ta recherchev est #N/A, tu sais qu'il faut ouvrir ton Classeur1 pour modification.

Petite précision, à chaque ouverture de ton Classeur2, il faudra le mettre à jour via la pop-up à l'ouverture.

Bonne journée.
Messages postés
13
Date d'inscription
dimanche 28 octobre 2007
Statut
Membre
Dernière intervention
3 janvier 2015

Merci beaucoup ! Je ne pensais pas échapper à la macro en effet.
Qu'entends-tu par le pop-up à l'ouverture ?
Messages postés
127
Date d'inscription
dimanche 2 novembre 2014
Statut
Membre
Dernière intervention
20 janvier 2015
3
La petite fenêtre (ou onglet) jaune qui demande de mettre à jour les données.
Messages postés
127
Date d'inscription
dimanche 2 novembre 2014
Statut
Membre
Dernière intervention
20 janvier 2015
3
Si je comprend bien:
Dans ton Classeur2, tu écris le nom d'une personne (en A1).

En B1, tu souhaites obtenir la pointure:
>> RECHERCHEV(A1;'[Classeur1.xls]feuille1'!$A:$B;2;FAUX)

En B2, la largeur:
>> =INDEX('[Classeur1.xls]feuille1'!$A:$B;EQUIV(A1;'[Classeur1.xls]feuille1'!$A:$B;0)+1;2) devrait fonctionner.

Bon réveillon!
Messages postés
127
Date d'inscription
dimanche 2 novembre 2014
Statut
Membre
Dernière intervention
20 janvier 2015
3
J'ai vu mon erreur: "feuille1" au lieu de "Feuil1"
En B1:RECHERCHEV(A1;'[Classeur1.xls]Feuil1'!$A:$B;2;FAUX)
Messages postés
127
Date d'inscription
dimanche 2 novembre 2014
Statut
Membre
Dernière intervention
20 janvier 2015
3
En B2:=INDEX('[Classeur1.xlsx]Feuil1'!$A:$B;EQUIV(A1;'[Classeur1.xlsx]Feuil1'!$A:$A;0)+1;2)
Messages postés
127
Date d'inscription
dimanche 2 novembre 2014
Statut
Membre
Dernière intervention
20 janvier 2015
3
Mais tu peux aussi utiliser la fonction INDEX en B1:
=INDEX('[Classeur1.xlsx]Feuil1'!$A:$B;EQUIV(A1;'[Classeur1.xlsx]Feuil1'!$A:$A;0);2)
Messages postés
127
Date d'inscription
dimanche 2 novembre 2014
Statut
Membre
Dernière intervention
20 janvier 2015
3
Si ça renvoie la valeur N/A, c'est parce qu'il faut remplacer dans mes formules
'[Classeur1.xlsx]Feuil1'! par le chemin de ton fichier.
par exemple: 'C:\MesDocuments\[Classeur1.xlsx]Feuil1'!
Messages postés
13
Date d'inscription
dimanche 28 octobre 2007
Statut
Membre
Dernière intervention
3 janvier 2015

Merci beaucoup ! Je m'en suis sorti !