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 et nom de fichier [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Autre
    Inscrit en
    Février 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Février 2017
    Messages : 16
    Par défaut Recherchev et nom de fichier
    Bonjour à tous,

    je tâtonne dans le VBA et vous remercie par avance de votre aide.

    Je reçois tous les jours un fichier brut excel, avec un seul onglet, pour la liste des dossiers en cours.
    Ce fichier doit être retravaillé (mise en forme) pour que les collaborateurs puissent remplir quelques cellules définies pour leurs commentaires et actions. Ces données sont reprises ensuite dans le fichier du lendemain pour les dossiers toujours ouverts, et ainsi de suite.

    Aujourd'hui, ce transfert de données entre le fichier de la veille (annoté) et le fichier du jour (le brut) et la mise en forme se font à la main. Une macro serait donc la bienvenue !
    Chaque fichier est nommé avec la date du jour de création (à la main toujours)

    Le problème est que la formule "rechercheV" demande le nom du fichier et je ne dois pas devoir modifier la macro à chaque fois (elle sera en plus utilisée par d'autres que moi).

    J'ai tenté d'ouvrir d'abord le fichier cible, puis d'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TSC_VEILLE = ActiveWorkbook.Name
    pour avoir un nom "générique".

    Si cela a fonctionné pour certains cas, cela ne marche pas dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveCell.FormulaR1C1 = _
            "=VLOOKUP(RC1,'[TSC_VEILLE]Onglet1'!R1C1:R2011C35,35,0)"
    Excel ouvre une boîte de dialogue pour me demander le fichier source, et j'ai 5 colonnes de 2000 lignes. Le PC a donc ramé pendant plus de 30 minutes...

    Il doit donc y avoir un moyen de faire fonctionner cela dans cet esprit (j'espère avoir été assez clair) et vous remercie par avance de votre aide.

    Art

  2. #2
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    Bonjour

    Il te faut une logique de nommage qui permette de déduire le nom du classeur de la vieille à partir de celui du jour...

  3. #3
    Membre averti
    Homme Profil pro
    Autre
    Inscrit en
    Février 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Février 2017
    Messages : 16
    Par défaut
    Bonjour,

    Tout d'abord merci pour cette première aide.

    le fichier du jour s'appelle toujours "extraction_clients.xls", c'est une extraction automatique de nos données. Il n'est renommé que lorsqu'il est prêt et sera appelé aujourd'hui "28 février.xls" (je ne peux pas choisir le nom du fichier...)
    L'extraction pourrait effectivement être enregistrée dès ouverture sous son nouveau nom, mais je ne vois pas comment ensuite faire pour que la commande VLOOKUP se réfère à l'ancien.

    Désolé, je suis novice et ne connais pas ces techniques de nommage et si elles sont applicables ou non dans le cas présent.

  4. #4
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    Bonjour

    Le 28, le fichier de la veille s'appelle-t-il "27 février.xls" ?
    Y a-t-il des fichiers les samedis, dimanches et jours fériés ?

    A propos de nommage il est plutôt conseillé d'utiliser la norme US pour nommer les fichiers avec une date 20170227 ou 2017_02_27 ce qui permet qu'ils soient classés de façon chrono et soient plus faciles à retrouver... mais le problème n'est pas là

  5. #5
    Membre averti
    Homme Profil pro
    Autre
    Inscrit en
    Février 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Février 2017
    Messages : 16
    Par défaut
    Bonjour,

    Je suis d'accord avec toi pour le nommage des fichiers, les miens sont généralement sous la forme AAAAMMJJ. Dans le cas présent, les managers préfèrent un titre plus "lisible" pour les collaborateurs "remplisseurs" de données....

    L'extraction tourne tout les jours (c'est un programme qui tourne chaque nuit et dépose le fichier sur le réseau, venant écraser celui de la veille) mais nous n'utilisons que celui de la nuit précédente. Il n'y a pas de mise à jour effectuée sur notre tableau de suivi client le samedi, le dimanche ou les jours fériés. L'extraction qui tombe le samedi matin et le dimanche matin sont donc inutilisées.

    On aura donc au final un fichier "23 février", "24 février" puis "27 février", "28 février". (Ces fichiers sont archivés, pour contrôle)

  6. #6
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    RE

    Donc en fonction de la date du jour on peut en utilisant la fonction SERIE.JOUR.OUVRE et un tableau des jours fériés on peut déterminer la nom du dernier fichier.

    En VBA il est possible d'ouvrir un document en refusant la mise à jour des cellules liées puis de modifier le lien.

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

Discussions similaires

  1. [XL-2007] Recherchev vers classeurs fermés et nom du fichier variable
    Par charli.b2802 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/07/2013, 14h49
  2. Comment récupérer le nom du fichier sans l'extension ?
    Par altahir007 dans le forum Langage
    Réponses: 16
    Dernier message: 13/11/2009, 13h20
  3. Réponses: 2
    Dernier message: 29/01/2004, 11h05
  4. Réponses: 4
    Dernier message: 10/10/2003, 18h04
  5. nom de fichier et variables d'environnement
    Par joebarthib dans le forum Langage
    Réponses: 2
    Dernier message: 18/07/2002, 15h21

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