macro récupérant les données d'un autre fichier

Apolline

XLDnaute Nouveau
Bonjour à tous,
Je suis nouvelle sur ce forum, et cela fait deux jours que j'essaye de comprendre mon problème en allant sur les différents forum.
Alors j'ai un classeur excel, dans lequel je souhaite récupérer les données d'un autre classeur. Pour cela dans le classeur 1 feuille 1 j'ai en A1 la valeur 3. Je souhaite mettre dans A2 les différentes cellules qui ont la valeur 3 du classeur 2. Un peu comme la fonction rechercheV mais avec toutes les cases qui ont la valeur 3. J'ai donc créé une macro, qui fonctionne quand je recherche dans le même classeur, mais pas quand c'est pour l'autre classeur.
Voici ma macro :
Function RechTous(v, champRech As Range, ChampRetour As Range, separateur)
a = champRech
temp = ""
For i = 1 To champRech.Count
If a(i, 1) = v Then
temp = temp & ChampRetour(i) & separateur
End If
Next i
RechTous = Left(temp, Len(temp) - 1)
End Function

Dans la cellule A3 je met : =RechTous(A1;'[Classeur2.xls]Feuil1'!B6:B60;'[Classeur2.xls]Feuil1'!E6:E60;",")
Et quand je valide, cela m'affiche #valeur!

En vous remerciant par avance Apolline
 

Apolline

XLDnaute Nouveau
Re : macro récupérant les données d'un autre fichier

Voila en pièce jointe un exemple.
En tout cas merci beaucoup de cette réponse rapide
 

Pièces jointes

  • Classeur1.xls
    16 KB · Affichages: 58
  • Classeur2.xls
    16.5 KB · Affichages: 57
  • Classeur1.xls
    16 KB · Affichages: 69
  • Classeur2.xls
    16.5 KB · Affichages: 65
  • Classeur1.xls
    16 KB · Affichages: 62
  • Classeur2.xls
    16.5 KB · Affichages: 68

tbft

XLDnaute Accro
Re : macro récupérant les données d'un autre fichier

Bonjour

Je viens de faire un essai sur un de mes fichiers
J'obtiens #valeurs quand la fonction ne me renvoi rien
Voici une version modifié
VB:
Function RechTous(v, champRech As Range, ChampRetour As Range, separateur)
  a = champRech
  temp = ""
  For i = 1 To champRech.Count
    If a(i, 1) = v Then temp = temp & ChampRetour(i) & separateur
  Next i
  If temp <> "" Then RechTous = Left(temp, Len(temp) - 1) Else RechTous = "Rien"
End Function

Peux tu me dire ce que tu en pense, stp?
 

Apolline

XLDnaute Nouveau
Re : macro récupérant les données d'un autre fichier

Oui j'ai bien mes deux fichiers ouverts mais cela ne fonctionne pas.
Je pense que c'est dans la déclaration de ma fonction qu'il y a un problème, vu que ça marche très bien quand c'est dans le même classeur Excel. Mais je n'arrive pas à voir ou est le problème.
 

Discussions similaires

Réponses
9
Affichages
112

Statistiques des forums

Discussions
312 746
Messages
2 091 599
Membres
105 006
dernier inscrit
bhabali