Trouver valeurs dans une autre feuille

  • Initiateur de la discussion Initiateur de la discussion dorko45
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dorko45

XLDnaute Nouveau
Bonsoir à tous,

Je suis novice en macro VBA et je dois en faire une pour me permettre de gagner un temps considérable.
Je vous explique sur un exemple

J'ai un fichier que je nommerais "Fruits"
Ce fichier contient 2 colonnes, une colonne "fruits" contenant des noms de fruits et une 2eme colonne "chiffres automatiques" destinée à recevoir des chiffres présents dans un autre fichier .xls

Le 2eme fichier se nomme "test"
Ce fichier contient 2 colonnes, une colonne "fruits" contenant des noms de fruits et une colonne "nombres"

Le fichier "fruits" restera toujours identique, aucunes valeurs ne sera rajoutée.
Le fichier "test", lui, contiendra toujours des valeurs présentes dans le fichier fruit mais ils ne seront pas tous présent.

La macro que je souhaite faire doit permettre, en cliquant sur un bouton dans le fichier "fruit" d'aller remplir les cases de la colonne "chiffres automatiques" en fonction des valeurs présentes dans l'autre fichier.

Je vous mets les 2 fichiers en pièce jointe

Je vous remercie milles fois pour l'aide que vous pourrez m'apporter.

Excellente soirée

Cordialement
 

Pièces jointes

Re : Trouver valeurs dans une autre feuille

Bonsoir.
Écrit dans un module de TEST.xls, à affecter à un bouton de formulaire dans fruits.xls
VB:
Sub ChiffrAuto()
Dim Plag As Range
Set Plag = ActiveSheet.[B2].Resize(ActiveSheet.[B65536].End(xlUp).Row - 1)
Plag.FormulaR1C1 = "=INDEX(" & Feuil1.Columns(2).Address(True, True, xlR1C1, True) _
   & ",MATCH(RC[-1]," & Feuil1.Columns(1).Address(True, True, xlR1C1, True) & ",0))"
Plag.Value = Plag.Value
End Sub
À +
 
Re : Trouver valeurs dans une autre feuille

Bonjour Dranreb,

Milles mercis pour votre réponse.
Je viens de tester votre code le plaçant dans un module dans TEST et en créant un bouton de formulaire dans Fruits pour appeller cette macro.
Malheureusement, cela ne fonctionne pas, j'ai du louper quelque chose. En effet, il me met une erreur 1004 et le dégogage me souligne la ligne : Set Plag = ActiveSheet.[B2].Resize(ActiveSheet.[B65536].End(xlUp).Row - 1)

Merci encore de votre aide.
 
Re : Trouver valeurs dans une autre feuille

ReBonjour Dranreb,

Je vous confirme que le bouton est bien présent dans la feuille "fruits", je vous mets en pièce jointe les fichiers contenant la macro. J'ai surement du louper quelque chose.

Merci encore
 

Pièces jointes

Re : Trouver valeurs dans une autre feuille

Effectivement. Remplacer l'instruction en
Set Plag = ActiveSheet.[B2].Resize(ActiveSheet.[A65536].End(xlUp).Row - 1)
VB:
Set Plag = ActiveSheet.[B2].Resize(ActiveSheet.[A65536].End(xlUp).Row - 1)
C'était donc moi seul qui avais loupé quelque chose !
À +
 
Re : Trouver valeurs dans une autre feuille

Bonsoir à vous !

Je m'incruste dans le sujet puisque mon problème est une "extension" de celui de dorko45.

Je m'explique : moi aussi je souhaiterais rechercher des valeurs d'un onglet pour le faire apparaître dans un autre en fonction de critère. Là où cela diffère c'est que je dois faire apparaître le résultat suivant plusieurs critères situés dans la même ligne mais dans différentes colonnes.

Voici un fichier excel exemple que j'ai créé.

La macro que je souhaiterais implémenter devra répondre à cette question (dans l'exemple !!) : Combien j'ai de Banane Pourrie ?

Merci d'avance !!

PS : dans mon sujet réel, j'ai une bonne dizaine de colonnes d'arguments, donc par l'exemple, je recherche le cas général !!
 

Pièces jointes

Re : Trouver valeurs dans une autre feuille

C'est assez différent, et cela aurait mérité une autre discussion. Cependant:
Si en A1: "Banane", en B1: "Pourrie", en C1:
Code:
=SOMMEPROD((Feuil1!$A$2:$A$9=$A1)*(Feuil1!$B$2:$B$9=$B1);Feuil1!$C$2:$C$9)
Rend 2, qui est le nombre total de Banane Pourrie
Pomme Mure donne 10 (2 fois 5)
Cordialement
 
Re : Trouver valeurs dans une autre feuille

Bonjour Dranreb,

Désolée de vous déranger de nouveau.

Est il possible de faire appelle à la page TEST sans qu'il n'y ai de code dans celle ci ?

En effet, j'aimerais que le code de la macro ne soit présent que dans la feuille fruit de façon a être sur que lorsque l'on modifie les données de la feuille "test", cela ne m'écrase pas le VBA.

Merci encore pour votre aide
Bonne journée à vous
 
Re : Trouver valeurs dans une autre feuille

Bonjour.
Oui ce serait possible mais moins simple et à priori pas utile: lorsque l'on modifie les données de la feuille "test", cela ne vous écrase pas le VBA !
Mettre la macro dans le fichier cible contenant le bouton entraînerait un problème de localisation du fichier source, tandis que si le code est dans le fichier source, la connexion s'opère en quelque sorte automatiquement grâce à la propriété OnAction du bouton.
On pourrait toutefois avoir presque la même facilité si le bouton était quand même dans l'autre classeur que celui contenant la macro, mais dans le fichier source cette fois.

À +
 
Re : Trouver valeurs dans une autre feuille

Je reviens sur ta solution :

C'est assez différent, et cela aurait mérité une autre discussion. Cependant:
Si en A1: "Banane", en B1: "Pourrie", en C1:
Code:
=SOMMEPROD((Feuil1!$A$2:$A$9=$A1)*(Feuil1!$B$2:$B$9=$B1);Feuil1!$C$2:$C$9)
Rend 2, qui est le nombre total de Banane Pourrie
Pomme Mure donne 10 (2 fois 5)
Cordialement

Ca marche dans l'exemple et je t'en remercies beaucoup. Seulement je n'ai pas été assez précis pour mon cas... Ma recherche réelle ne porte pas sur un nombre mais sur un texte... et dans ce cas, la SOMMEPROD n'a pas l'air d'être adaptée..

Merci d'avance
 
Dernière édition:
Re : Trouver valeurs dans une autre feuille

Mettez un classeur exemple avec des données de mêmes natures que dans votre classeur réel dans une nouvelle discussion. Là je ne comprend pas ce que vous voulez dire: Les critères à mettre en correspondance sont bien des textes et si c'est l'information associée qui n'est pas du texte on ne peut certes pas la sommer, mais que voulez vous faire alors ?
À + sur un autre fil.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
22
Affichages
661
Retour