Microsoft 365 VBA copier des données d'un classeur à un autre

  • Initiateur de la discussion Initiateur de la discussion marie3107
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

marie3107

XLDnaute Nouveau
Bonjour,

Je suis complètement perdue entre toutes les macros. Je vous explique mon cas : je souhaiterais copier les données d'un classeur excel dans mon classeur à moi qui s'appelle "Quiz", plus précisément dans la feuille "BASE DE DONNEES" à partir de la cellule A1.
Sauf que mon fichier d'origine peut changer de nom et d'emplacement sur le réseau (pas dans un dossier propre). Heureusement dans ce fichier source il n'y a qu'une seule feuille de calcul.

J'aimerai développer une macro qui permettrait d'aller chercher mon fichier source et de tout coller dans ma BASE DE DONNEES.

Pourriez-vous m'aider SVP ?

Merci d'avance
 
Bonjour Marie,
Sans fichiers test on ne peut que supposer.
En PJ un essai avec :
VB:
Sub CopierColler()
    Dim Fichier As Variant, T
    Fichier = Application.GetOpenFilename("Tous les fichiers (*.*),*.*")
    If Fichier = False Then
        Exit Sub
    Else
        Application.ScreenUpdating = False
        Workbooks.Open Filename:=Fichier
        T = [A1].CurrentRegion
        ActiveWorkbook.Close
        [A1].Resize(UBound(T, 1), UBound(T, 2)) = T
    End If
End Sub
On demande quel fichier ouvrir.
On copie les données en partant de A1.
On ferme le fichier.
On les colle à partir de A1.
 

Pièces jointes

Ca a l'air de marcher impeccable ! Merci beaucoup !

En petit complément, pourriez-vous me dire ce que je dois faire pour que les données se colonnes dans l'onglet qui s'appelle "BASE DE DONNEES" sur mon fichier destinataire SVP ? Parce que là ça se colle sur la feuille sur laquelle je travaille.
 
Bonjour Marie,
Sans fichiers test on ne peut que supposer.
🙂
Il suffit de lui demander gentiment :
VB:
Sub CopierColler()
    Dim Fichier As Variant, T
    Fichier = Application.GetOpenFilename("Tous les fichiers (*.*),*.*")
    If Fichier = False Then
        Exit Sub
    Else
        Application.ScreenUpdating = False
        Workbooks.Open Filename:=Fichier
        T = [A1].CurrentRegion
        ActiveWorkbook.Close
        Sheets("BASE DE DONNEES").[A1].Resize(UBound(T, 1), UBound(T, 2)) = T
    End If
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
76
Retour