Variable environnement dans un chemin de fichier

Bonjour tout le monde !

Débutant dans Excel je souhaite ouvrir un fichier (nommé fichier dans ce cas).

Le fichier se trouve toujours à cet emplacement:

C:\Users\"]identifiant personnel"\Documents\fichier.xlsm

le problème :

Le fichier en question est enregistré de manière automatique dans le dossier document qui se situe dans un dossier nominatif (qui change entre toutes les personnes)

n'importe qui peut enregistré le fichier sans problème

Si un collègue lance la macro, le fichier ne s'ouvre pas car le chemin est différent (identifiant perso différent du mien)

On est tous sur le même réseaux

On m'a parlé d'utiliser lune variable environnement

Je ne sais pas comment ça fonctionne.

Pouvez-vous m'aider

Cdl

le problème est que si le fichier est récupéré par un collègue et il l'ouvre.

bonjour,

exemple d'une manière de faire

chemin = Environ("homepath") & "\documents\fichier.xlsm"

Ce code m'affiche un message d'erreur comme quoi il trouve pas "documents"

Voici le code modifié

 Chemin = Environ("homepath") & "documents\Fichier.csv"                      'Le premier fichier csv trouvé
   Do While Chemin <> ""                                'on fait une boucle jusqu'à ce qu'on ne trouve plus de fichier csv
      Set Wbcsv = Workbooks.Open(Chemin)       'On ouvre le fichier csv qu'on affecte à la variable Wbcsv
      With Wbcsv.Sheets(1)
         LastLig = .Cells(.Rows.count, 1).End(xlUp).Row  'LastLig est la dernière ligne remplie du fichier csv ouvert
      End With
      With ThisWorkbook.Worksheets("IMPORT")
         For Each c In Wbcsv.Sheets(1).Range("A2:A" & LastLig)   'Pour chaque cellule de A2:Axxx
            NewLig = .Cells(.Rows.count, 1).End(xlUp).Row + 1   'la première cellule vide de la colonne 1 de Feuil1 de ce classeur
            Tablo = Split(c.Value, Sep)                     'On sépare les données par rapport au séparateur (ici le point virgule)
            .Range(.Cells(NewLig, 1), .Cells(NewLig, UBound(Tablo) + 1)).Value = Tablo   'on copie
         Next c
      End With
      Wbcsv.Close                                        'On ferme le fichier csv
      Chemin = Dir()                                    'on cherche le fichir csv suivant
   Loop 

bonjour,

tu as mal recopié l'instruction que je t'ai mise et je ne vois pas de raison de faire une boucle, puisqu'il n'y a qu'un seul fichier et que tu connais son nom.

 Chemin = Environ("homepath") & "\documents\Fichier.csv"                      'Le premier fichier csv trouvé

     Set Wbcsv = Workbooks.Open(Chemin)       'On ouvre le fichier csv qu'on affecte à la variable Wbcsv
     With Wbcsv.Sheets(1)
         LastLig = .Cells(.Rows.count, 1).End(xlUp).Row  'LastLig est la dernière ligne remplie du fichier csv ouvert
     End With
      With ThisWorkbook.Worksheets("IMPORT")
         For Each c In Wbcsv.Sheets(1).Range("A2:A" & LastLig)   'Pour chaque cellule de A2:Axxx
           NewLig = .Cells(.Rows.count, 1).End(xlUp).Row + 1   'la première cellule vide de la colonne 1 de Feuil1 de ce classeur
           Tablo = Split(c.Value, Sep)                     'On sépare les données par rapport au séparateur (ici le point virgule)
           .Range(.Cells(NewLig, 1), .Cells(NewLig, UBound(Tablo) + 1)).Value = Tablo   'on copie
        Next c
      End With
      Wbcsv.Close                                        'On ferme le fichier csv

Bonjour,

J'ai essayé de nouveau mais j'ai le message suivant : "\\documents\Fichier.csv" est introuvable. Vérifier l'orthographe ou essayé un autre chemin d'accès."

Le débogueur indique par la suite que c'est la ligne suivante qui a le problème :

    Set Wbcsv = Workbooks.Open(Chemin)  

J'ai mis Wbcsc défini comme workbook.

je ne comprends pas pourquoi ca ne fonctionne pas.

Bonjour,

mets comme première instruction dans ta macro

msgbox environ("homepath")

et dis-nous ce que tu reçois à l'affichage

Boinjour,

L'affichage m'indique " \ "

Rien de plus ...

Bonjour,

de quelle(s) version(s) de windows parle-t-on ?

Windows 7 entreprise

Bonjour,

essaie avec "home" à la place de "homepath"

Le message avec "home" affiche rien dans la boite de dialogue

C'était une super idée avec" home" on était pas loin, il fallait juste "username" à la place de "home"

merci beaucoup !

Rechercher des sujets similaires à "variable environnement chemin fichier"