Importation de données avec MsgBox

Bonjour à tout le monde,

J'ai réussi à coder une macro pour copier des données d'un fichier excel à l'autre mais je voudrais en fait pouvoir choisir mon fichier source à l'aide d'un MsgBox. Tout ça afin d'associer la macro à un bouton qui me permet de choisir mon fichier et copier sont contenu automatiquement.

Je vous laisse ce que j'ai réussi à faire.

Merci !!

Sub test()
 Dim classeurSource As Workbook, classeurDestination As Workbook

 'ouvrir le classeur source 
 Set classeurSource = Application.Workbooks.Open("C:\source.xlsx", , True)
 'définir le classeur destination
 Set classeurDestination = ThisWorkbook

 'copier les données de la "Feuil1" du classeur source vers la "Feuil1" du classeur destination
 classeurSource.Sheets("Feuil1").Cells.Copy classeurDestination.Sheets("Feuil1").Range("A1")

 'fermer le classeur source
 classeurSource.Close True

 End Sub

Bonjour Merinom,

Sub test()
Dim Filename As Variant
Dim classeurDestination As Workbook
Dim classeurSource As Workbook

 'définir le classeur destination
Set classeurDestination = ThisWorkbook

 ChDir "C:\Users\xxxxxx\Documents" ' adapter à votre répertoire
 Filename = Application.GetOpenFilename(FileFilter:="Classeurs Excel,*.xls", _
            Title:="Choissisez le classeur", MultiSelect:=False) ' adapter l'extension du fichier

    If TypeName(Filename) = "Boolean" Then
        Exit Sub 'la boîte de dialogue a été annulée
    Else
        'ouvrir le classeur source
        Workbooks.Open Filename
        Set classeurSource = ActiveWorkbook
        classeurDestination.Activate
    End If

 'copier les données de la "Feuil1" du classeur source vers la "Feuil1" du classeur destination
classeurSource.Sheets("Feuil1").Cells.Copy classeurDestination.Sheets("Feuil1").Range("A1")

 'fermer le classeur source
classeurSource.Close True
'vider l'espace
Set classeurDestination = Nothing
Set classeurSource = Nothing
End Sub

Merci sabV, c'est parfait!

Bonne journée!

Rechercher des sujets similaires à "importation donnees msgbox"