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 :

Utiliser un autre chemin d'accès que c: pour chercher un fichier dans une macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Consultant en gestion de la relation client (GRC)
    Inscrit en
    Septembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant en gestion de la relation client (GRC)
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Septembre 2016
    Messages : 3
    Par défaut Utiliser un autre chemin d'accès que c: pour chercher un fichier dans une macro
    Bonjour à tous,

    Je souhaite copier coller des informations d'un fichier excel à un autre. Aujourd'hui, j'utilise un code qui permet de chercher le fichier Excel par son chemin d'accès : C:perso/....
    Est-il possible de ne pas passer par le chemin d'accès ? En effet, le dossier contenant les 2 fichiers excel, je souhaiterais le déplacer voir le transférer à d'autres personnes.
    J'utilise aujourd'hui le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Sub reporting1()
     
     
    Set wb = Workbooks.Open("C:\Users\...\reportingagence.xlsx")
     
     
        Set ws = wb.Worksheets(1)
        Range("B10:F10").Select
        Selection.Copy
        Windows("reportingmaster.xlsm").Activate
        Range("b8:f8").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
     
        wb.Saved = True
        wb.Close
     
    Range("a1").Select
     
     
    End Sub

    Merci d'avance pour votre aide,

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    C'est en effet toujours possible, mais s'il faut rechercher ce fichier partout, bonjour les lenteurs (sans compter les erreurs si plusieurs classeurs ont le même nom !)
    Il est très nettement plus astucieux de le mettre dans un sous-dossier de celui du classeur en cours et d'utiliser alors Application.Path (qui est le chemin de ton classeur de départ). Rubrique Application.Path à lire dans ton aide VBA

  3. #3
    Candidat au Club
    Femme Profil pro
    Consultant en gestion de la relation client (GRC)
    Inscrit en
    Septembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant en gestion de la relation client (GRC)
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Septembre 2016
    Messages : 3
    Par défaut
    Citation Envoyé par unparia Voir le message
    Bonjour
    C'est en effet toujours possible, mais s'il faut rechercher ce fichier partout, bonjour les lenteurs (sans compter les erreurs si plusieurs classeurs ont le même nom !)
    Il est très nettement plus astucieux de le mettre dans un sous-dossier de celui du classeur en cours et d'utiliser alors Application.Path (qui est le chemin de ton classeur de départ). Rubrique Application.Path à lire dans ton aide VBA
    Oui, je place la macro dans un dossier et dans un sous dossier, je place le fichiers à aller rechercher.
    Je ne trouve pas comment utiliser application.path...

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    C'est pourtant simple :
    soit X:\toto le chemin du dossier dans lequel se trouve ton classeur principal
    - tu mets ton fameux fichier dans le sous-dossier : X:\toto\titi
    et tu te réfères au chemin de ce sous-dossier par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.path & "\titi\"
    je ne vois pas ce qu'il y a de compliqué à comprendre à cela ...

  5. #5
    Invité
    Invité(e)
    Par défaut
    bonjour,
    Code un truc comme ça : Sélectionner tout - Visualiser dans une fenêtre à part
    Environ$("USERPROFILE") & "\mes documents\"

  6. #6
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Je ne comprends pas ta question.
    Pour ouvrir un fichier, il faut en connaitre le chemin.
    A moins que ce chemin puisse se déduire d'autres informations : même répertoire que le fichier contenant la macro, composition à partir d'informations dans la feuille de calcul, etc.

    Il faudrait que tu précises de quelle façon peut être déduit ce chemin.

    Au passage, ton code peut être simplifié ainsi.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub reporting1()
        Workbooks.Open("C:\Users\...\reportingagence.xlsx")
        Worksheets(1).Range("B10:F10").Copy
        Workbooks("reportingmaster.xlsm").Worksheets(1).Range("B8:F8").PasteSpecial Paste:=xlPasteValues
        ActiveWorkbook.Close SaveChanges:=False
    End Sub

  7. #7
    Candidat au Club
    Femme Profil pro
    Consultant en gestion de la relation client (GRC)
    Inscrit en
    Septembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant en gestion de la relation client (GRC)
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Septembre 2016
    Messages : 3
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Je ne comprends pas ta question.
    Pour ouvrir un fichier, il faut en connaitre le chemin.
    A moins que ce chemin puisse se déduire d'autres informations : même répertoire que le fichier contenant la macro, composition à partir d'informations dans la feuille de calcul, etc.

    Il faudrait que tu précises de quelle façon peut être déduit ce chemin.

    Au passage, ton code peut être simplifié ainsi.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub reporting1()
        Workbooks.Open("C:\Users\...\reportingagence.xlsx")
        Worksheets(1).Range("B10:F10").Copy
        Workbooks("reportingmaster.xlsm").Worksheets(1).Range("B8:F8").PasteSpecial Paste:=xlPasteValues
        ActiveWorkbook.Close SaveChanges:=False
    End Sub
    Oui tu as raison, je souhaite placer les fichiers à aller chercher dans un répertoire ou il y a la macro.

  8. #8
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par cocolabricot Voir le message
    Oui tu as raison, je souhaite placer les fichiers à aller chercher dans un répertoire ou il y a la macro.
    Dans ce cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Workbooks.Open(ThisWorkbook.Path & "\reportingagence.xlsx")

Discussions similaires

  1. Que faire pour retenir les talents dans une entreprise ?
    Par Cedric Chevalier dans le forum Actualités
    Réponses: 23
    Dernier message: 02/04/2014, 12h35
  2. Réponses: 3
    Dernier message: 28/01/2010, 12h18
  3. Réponses: 2
    Dernier message: 16/08/2009, 13h31
  4. Réponses: 4
    Dernier message: 13/05/2009, 17h07
  5. Réponses: 1
    Dernier message: 14/11/2008, 15h37

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