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 :

Match fichier fermé qui ne fonctionne pas. [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    817
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 817
    Par défaut Match fichier fermé qui ne fonctionne pas.
    Bonjour,

    Je souhaite récupérer le N° d'une ligne dans un fichier fermé.
    j'ai regardé dans
    https://excel.developpez.com/faq/?page=Recherche pour voir comment ça marche.

    Par contre je n'arrive pas à récupérer mon info dans une variable.

    Dans le code suivant la formule dans la feuille me renvoie bien mon N° de ligne (code récupéré par la fonction enregistrement.)

    Mais comme je veux réupérer le N° de ligne dans une variable (pour aller lire plus tard des cellules de la ligne
    J'ai bricolé la syntaxe du match en rajoutant des "" pour sortir des erreurs de compilation, mais apparement la syntaxe est toujours érronée
    La variable ligne m'affiche #valeur! sur ma feuille et dans le debog, ma variable ligne a la valeur erreur 2015

    Pouvez vous me corriger ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub Projet()
     
    Projet = InputBox("quel projet ?")
     
        Sheets("formulaire").Range("D10").FormulaR1C1 = "=MATCH(" & Projet & ",[Base.xlsx]Feuil1!C1,0)"
     
        ligne = Application.Match(Projet, "'C:\Users\MonPc\Desktop\[Base.xlsx]Feuil1'!$a:$a", 0)
        Sheets("formulaire").Range("D11").FormulaR1C1 = ligne
    end sub
    Denis

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour,

    comparer déjà avec la formule correcte entrée manuellement dans une cellule …

    ___________________________________________________________________________________________________________
    Je suis Paris, London, Manchester, Egypte, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  3. #3
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    817
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 817
    Par défaut
    Marc,

    Tu as vu quelque chose, peux tu etre plus explicite,
    car procédant à taton, j'ai déjà modifié mes syntaxes, remplacement du a$:a$ par C1 par exemple, enlevé les "" etc ....
    mais ça ne marche pas.

    En attendant, puisque que je sais l'écrire dans une cellule, je relis la cellule pour récupérer la valeur, mais c'est pas propre.
    merci pour ton aide.
    Denis

  4. #4
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 706
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 706
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "=MATCH(" & Projet & ",[Base.xlsx]Feuil1!C1,0)"
    Tu fais ta recherche dans une seule cellule (C1). Si tu cherches quelque chose, c'est plutôt parce que c'est potentiellement dans plusieurs cellules (toute la colonne C, par exemple). Tu le fais correctement avec Application.Match.
    Si tu écris "à la main" dans Excel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =EQUIV(Projet ,[Base.xlsx]Feuil1!C1,0)
    qu'est-ce que ça te renvoie ?

  5. #5
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    817
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 817
    Par défaut
    Bonjour,

    Je suis bien d'accord avec vous MAIS. C'est l'enregistreur de macro qui génère C1 cela représente la colonne 1 et pas la cellule C1, si je sélectionne la collone bb, j'ai C2 etc ....

    En fait je pense que j'ai mal exprimé mon souhait.

    Je souhaite par macro récupérer le N° de ligne d'un fichier fermé pour copier la ligne trouvée.

    J'ai donc un input pour que l'utilsateur me donne le N° de projet.
    Ensuite je veux connaitre la ligne en cherchant le N° de projet dans la colonne AA pour lire totut simplement cette ligne et la rapatrier dans mon classeur de travail.

    Denis

  6. #6
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 706
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 706
    Par défaut
    Ah oui, pardon, c'est vrai qu'avec FormulaR1C1 C1 veut dire colonne 1.
    J'ai donc un input pour que l'utilsateur me donne le N° de projet.
    Je pense que le problème se trouve ici. L'inputbox renvoie par défaut du texte (string), or tu cherches dans une liste de numeros. Donc tu ne vas rien trouver. Il faut que tu convertisses le retour de l'inputbox en Long :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Projet = CLng(InputBox("quel projet ?"))

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Script de déplacement de fichier wav qui ne fonctionne pas
    Par maxtofurious dans le forum VBScript
    Réponses: 1
    Dernier message: 24/12/2009, 18h19
  2. fichier shell qui ne fonctionne pas avec le cron mais fonctionne dans le shell
    Par diabli73 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 20/10/2008, 19h12
  3. Petit fichier ASPX qui ne fonctionne pas
    Par Claude_Azoulai dans le forum ASP
    Réponses: 2
    Dernier message: 27/10/2007, 11h20
  4. Petit fichier ASPX qui ne fonctionne pas
    Par Claude_Azoulai dans le forum ASP.NET
    Réponses: 11
    Dernier message: 24/10/2007, 16h29
  5. Réponses: 6
    Dernier message: 04/09/2007, 00h11

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