Chemin du classeur différent

Bonjour a tous,

je viens de développer une macro pour faire un copier coller de certaines cellules d'un onglet du classeur vers une autre onglet d'un autre classeur comme vous pouvez le voir ici :

ce que je veux améliorer c'est que le chemin est diffèrent d'une pc à un autre, c'est a dire il peut s'appeler D, E , H ou n'importe quelle lettre,

comment faire pour la macro prends en considération cela

merci pour votre aide

' '''''''''''''''''''''''''''''''Copier les cases Q4 à Q14 et Coller les valeurs des cases Q4 à Q14
'du fichier TRAVAUX dans les lignes 4 à 14 du mois correspondant du fichier Reporting mensuel maintenance''''''''''''''''''''''''

Sub copierQ4q14()

Sheets("statistiques").Select
Range("q4:q14").Select
Selection.Copy

Dim Chemin As String, NomFichier As String
Dim disque As Integer

Chemin = "D:\fichier travaux-macros\Nouveau dossier\"

NomFichier = "Reportinggggg mensuel maintenance.xlsx"
Workbooks.Open Filename:=Chemin & NomFichier
Sheets("données 2021").Select
Range("f4:f14").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

End Sub

Bonsoir

il peut y avoir plusieurs réponses possible.

soit on demande à l'utilisateur de choisir le dossier via un pop-up... avec la fonction suivante

Function ChoixDossier()
    If Val(Application.Version) >= 10 Then
       With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Choisir le dossier de destination"
        .InitialFileName = ActiveWorkbook.Path & "\"
        .Show
        If .SelectedItems.Count > 0 Then
           ChoixDossier = .SelectedItems(1)
        Else
           ChoixDossier = ""
        End If
       End With
     Else
       ChoixDossier = InputBox("Répertoire?")
     End If
End Function

Avec un appel de la fonction... pour toi remplacer

Chemin = "D:\fichier travaux-macros\Nouveau dossier\"

par

Chemin = choixDossier()

soit une autre possibilité, le dossier rechercher est par exemple le dossier où se trouve le fichier exécutant la macro.. à ce niveau là on peut utiliser par exemple

chemin = thisworkbook.path

Fred

Bonsoir FRED,

merci pour ton temps,

mais je pense que tu n'as pas bien compris mon besoin,

en faite je souhaite que le classeur qui se trouve dans un répertoire variable soit ouvert automatiquement,

la fonction que t'as crée après l'avoir exécuté m'oblige a aller prendre le dossier,

mais par contre j'ai réussi a développer mon code en testant l'existence des diffèrent répertoires et ça marche :

' '''''''''''''''''''''''''''''''Copier les cases Q4 à Q14 et Coller les valeurs des cases Q4 à Q14
'du fichier TRAVAUX dans les lignes 4 à 14 du mois correspondant du fichier Reporting mensuel maintenance''''''''''''''''''''''''
Sub copierQ4q14()Sheets("statistiques").SelectRange("q4:q14").SelectSelection.CopyDim Chemin As String, NomFichier As String, Chemin1 As StringNomFichier = "Reportinggggg mensuel maintenance.xlsx"Chemin = "C:\fichier travaux-macros\Nouveau dossier\"Chemin1 = "D:\fichier travaux-macros\Nouveau dossier\"If Dir(Chemin, vbDirectory + vbHidden) <> "" ThenWorkbooks.Open Filename:=Chemin & NomFichierSheets("données 2021").SelectRange("f4:f14").SelectSelection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _:=False, Transpose:=FalseElseWorkbooks.Open Filename:=Chemin1 & NomFichierSheets("données 2021").SelectRange("f4:f14").SelectSelection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _:=False, Transpose:=FalseEnd IfEnd Sub

merci

imad

Bonjour

Dans ce cas...

Fred

Rechercher des sujets similaires à "chemin classeur different"