IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

recherchev sur classeur fermé


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Août 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut recherchev sur classeur fermé
    Bonjour

    Je suis tout nouveau ici et j'ai trouvé exactement ce que je cherchais avec la fonction XRECHERCHEV de cafeine. Cependant je n'arrive pas à la faire fonctionner, Excel me retourne "#VALEUR" (Le type de données d'une valeur utilisée dans la formule est incorrect). Voici le contenu de la cellule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =XRECHERCHEV(A11;"'U:\IS\[" & C7 & "]_INCOME STATEMENT'!$E:$H";4)
    Pour info, C7 = IS10-200807.xls

    J'ai testé un RECHERCHEV classique en copiant le contenu de mon second classeur et là je n'ai pas d'erreur, la fonction me retourne bien la valeur attendue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEV(A11;'INCOME STATEMENT'!$E:$H;4;FAUX)
    J'ai également testé de reproduire rigoureusement l'exemple de Cafeine dans son post (meme nom de fichier, meme chemin etc) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =XRECHERCHEV(A2;"'C:\Perso\[" & D2 & "]_Synthèse'!$A$2:$F$35";6)
    Avez-vous une idée ?

    Merci d'avance.
    Bonne journée

  2. #2
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Impossible de faire une recherche (ou tout autre opération) sur un classeur fermé! Il te faudra l'ouvrir, en arrière plan (invisible) si tu le désires, faire ta recherche (ou n'importe quoi d'autre) et ensuite le fermer.

    Le tutoriel d'automation (à partir de VB6) pourrait être intéressant en l'adaptant à VBA (pas besoin de variable pour l'application Excel, puisqu'elle est déjà ouverte...).

  3. #3
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    Jette un oeil à cet article dans la FAQ

    Comment utiliser la fonction RechercheV sur un classeur fermé ?
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Août 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Merci pour vos réponses déjà.
    Je ne suis pas reveillé ou vous n'etes pas d'accord tous les deux ?

    @Fring : j'ai suivi cette FAQ justement, 3eme chapitre : Comment réaliser des RECHERCHEV sur des classeurs fermés dont les chemin, feuille et plage sont variables ? Et impossible de la faire fonctionner.

    Bonne journée

  5. #5
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Pareil, je n'arrive pas à faire fonctionner cette procédure non plus mais la première procédure, plus classique, fonctionne
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Août 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour Fring,

    Oui je l'ai testée et elle fonctionne impec. Est-il possible de mettre le nom de fichier en variable ? Le nom de fichier serait stocké dans une cellule de la feuille.

    Bon app'

  7. #7
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Citation Envoyé par Eufalacok Voir le message
    Bonjour Fring,

    Oui je l'ai testée et elle fonctionne impec. Est-il possible de mettre le nom de fichier en variable ? Le nom de fichier serait stocké dans une cellule de la feuille.

    Bon app'
    oui...

    Ça pourrait ressembler à ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim nomFichier As String
    ' en supposant que le nom du fichier se trouve en Feuil1, cellule A8...
    nomFichier = Range("Feui11!A8").Value
    Resultat = VLOOKUP(...

  8. #8
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Comme le dit zaza, oui c'est possible mais plus avec la simple formule de base, il faudrait utiliser la fonction INDIRECT et comme expliqué dans la FAQ, celle-ci ne fonctionne pas à partir du moment ou l'on opère sur un classeur fermé.

    Il y a une fonction personnalisée (également expliquée dans la FAQ) qui corrige ce problème, sinon c'est réalisable en insèrant la formule via un bout de code en VBA comme l'exemple ci-dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub test()
    Dim CheminComplet As String, NomClasseur As String, Plage As String, NomFeuil As String, Chemin As String
     
    Plage = "$A$1:$B$5" '<-- plage de recherche
    NomFeuil = "Feuil1'!" '<-- nom de la feuille, ne pas oublier la simple cote avant le !
    NomClasseur = Range("E1") & ".xls" '<-- nom du classeur contenu dans la cellule E1
    Chemin = "'D:\Temp\" '<-- emplacement sur le disque dur, ne pas oublier la simple cote avant la lettre de la partition
     
    CheminComplet = Chemin & "[" & NomClasseur & "]" & NomFeuil & Plage
     
    Range("C1").FormulaLocal = "=RECHERCHEV(A1;" & CheminComplet & ";2;FAUX)"
     
    End Sub
    Une fois la formule insérée en C1 via le code, tu peux la tirer manuellement comme une formule classique
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

Discussions similaires

  1. [XL-2007] RechercheV sur classeur fermé - Problème de variable
    Par desv001a dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 28/03/2013, 13h16
  2. Recherchev sur classeur fermé dont les feuilles et plages sont variables
    Par JonathanF dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/02/2013, 14h18
  3. Besoin d'aide Macro récupéré les mêmes données sur classeur fermé
    Par djinero dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 04/10/2011, 15h40
  4. [XL-2003] RECHERCHEV sur classeur fermé et variable
    Par Remsdu dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 14/10/2009, 18h29
  5. [DAO] RECHERCHEV sur classeur fermé et variable
    Par cafeine dans le forum Contribuez
    Réponses: 3
    Dernier message: 28/04/2008, 09h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo