XL 2013 Aide à la création d'une Macro : Parcourir + Copie des données du fichier "Parcouru"

gregory2710

XLDnaute Nouveau
Bonjour à tous :)

Je viens aujourd'hui à vous pour demander votre généreuse aide pour la création d'un Macro, si celle-ci est possible d'être créée...

J'aimerais créer une Macro, qui sera exécutée dans le classeur AAA.xlsm .
Lorsque cette Macro est activée par un bouton (image), il y a un formulaire "Parcourir".


  1. La Macro ouvre ce classeur .xls sélectionné avec le formulaire Parcourir,
  2. il copie les données A1:B9 (une plage de cellule) de classeur,
  3. puis retourne ensuite sur le classeur AAA.xlsm ,
  4. copie les données A1:B2 (ci-avant) sur la plage A1:B9 de la feuille Sheet2 ,
  5. puis ferme le classeur ouvert précédemment grâce à la fonction Parcourir ,
  6. puis se rend ensuite sur la feuille Sheet3 du classeur AAA.xlsm .

Est-ce que ça vous semble faisable en tant que Macro Excel ? :confused:

Tout ça m'a l'air tellement compliqué voir infaisable pour mon faible niveau.

Vous seriez adorable si vous m'aideriez à résoudre cette grande interrogation :)

Cordiales salutations ! Grégory
 

Dranreb

XLDnaute Barbatruc
Re : Aide à la création d'une Macro : Parcourir + Copie des données du fichier "Parco

Bonjour.

Oui ça me semble faisable.
Mais il ne devrait pas y avoir besoin d'un formulaire particulier pour choisir un fichier: Application.GetOpenFilename en affiche un tout fait.
 

gregory2710

XLDnaute Nouveau
Re : Aide à la création d'une Macro : Parcourir + Copie des données du fichier "Parco

Coucou! Merci beaucoup pour l'astuce. Je suis tout novice à ce niveau-là de VBA, est-ce que quelqu'un aurait un exemple de Macro ou une idée comment je pourrais la monter pour mon scénario ? :eek: Votre aide me serait de grande utilité, ça serait gentil de votre part!

Merci infiniment :)
 
Dernière édition:

AntoineM

XLDnaute Junior
Re : Aide à la création d'une Macro : Parcourir + Copie des données du fichier "Parco

Bonjour gregory,

Tu devrais joindre un fichier pour rendre l'aide plus facile.

Tu veux un formulaire pour avoir la possibilité d'ouvrir un fichier différent ou c'est toujours le même fichier que tu veux ouvrir ?
 

AntoineM

XLDnaute Junior
Re : Aide à la création d'une Macro : Parcourir + Copie des données du fichier "Parco

Je ne suis pas très doué en vba, ce forum m'a énormément aidé. J'éspère que je pourrais t'aider un peu aussi :

Pour ouvrir un fichier tu peux utiliser un truc du style :

VB:
Set wb = Workbooks.Open("C:\Ton chemin\Ton fichier.xlsx")
'cela peut aussi etre un fichier *.xls *.xlsm...
et pour activer ton fichier AAA :
VB:
Workbooks("AAA.xlsm").Activate
Pour copier tes cellules :
VB:
Sheets("Feuill2").Range("A1:B9").Value = _ 'du fichier activé
Workbooks("Ton fichier.xls").Sheets("LEnom de l'onglet").Range("A1:B9").Value

Pour fermer le fichier que tu souhaite :
VB:
Workbooks("Ton fichier.xls").Close True
 

gregory2710

XLDnaute Nouveau
Re : Aide à la création d'une Macro : Parcourir + Copie des données du fichier "Parco

Bonjour à tous les deux! Merci beaucoup pour vos réponses.

Ma Macro se présenterait comme ça:

Sub Run_RunApp()
'
' Run_RunApp Macro
'

'



MsgBox pour "Parcourir" et sélectionner un fichier .xls("Sélectionner un fichier", vbQuestion + vbYesNo, "Sélectionner un fichier") = vbYes Then

Sheets("1.Home").Select
Sheets("1.Home").Name = "1.Home"
Range("A1").Select
Sheets("2.Export").Select

Workbooks("Fichier/Classeur sélectionner .xls avec "Parcourir"").Activate
Cells.Select
Selection.Copy

Workbooks("Monclasseur.xlsm (Classeur dans lequel la Macro est activée)").Activate
Sheets("2.Export").Select
Cells.Select
ActiveSheet.Paste
Range("A1").Select

Workbooks("Fichier/Classeur sélectionner .xls avec "Parcourir"").Activate
ActiveWindow.Close

Workbooks("Monclasseur.xlsm (Classeur dans lequel la Macro est activée)").Activate
Sheets("3.Mail").Select
Range("A1").Select

Else
Sheets("1.Home").Select
Range("A1").Select
End If

End Sub


J'espère que ça a pu vous éclairer un petit peu sur ce que j'aimerais faire :)

Merci beaucoup en tout cas! :)
 

AntoineM

XLDnaute Junior
Re : Aide à la création d'une Macro : Parcourir + Copie des données du fichier "Parco

Je ne comprends pas tout, comme je te l'ai dis je suis novice en vba,

cependant pour copier/coller tes valeurs je te déconseille de passer par le presse papier avec du .Copy et .Paste

Tu peux joindre un fichier en allant dans le mode avancé ("Aller en mode avancé") a côté de "envoyer la réponse rapide". Cela donnera une base de travail aux gentils bénévoles qui vont t'aider.

J'ai une question, tu veux toujours ouvrir le même fichier en plus de celui qui contient tes 3 onglets Home, Export et Mail ? Ou tu es susceptible d'en ouvrir des différents ?
 

gregory2710

XLDnaute Nouveau
Re : Aide à la création d'une Macro : Parcourir + Copie des données du fichier "Parco

En fait, ça paraît compliqué mais c'est plutôt simple mais j'arrive pas vraiment à le réaliser.

L'utilisateur du Workbook Monclasseur.xlsm doit pouvoir choisir son classeur .xls d'importation à partir d'un Macro à partir d'un formulaire "Parcourir".

C'est-à-dire, il clique sur "Parcourir", choisir son classeur .xls dans Mes documents (ou ailleurs dans l'explorateur Windows), puis la Macro commence. La Macro copie des données de ce classeur sélectionné avec "Parcourir" :)

Vous comprenez ? :(
 

AntoineM

XLDnaute Junior
Re : Aide à la création d'une Macro : Parcourir + Copie des données du fichier "Parco

Et est-ce que tu comprends que c'est bien de joindre un fichier ?

Donc il choisit son fichier parmis une liste de fichier dans un répertoire donné c'est ca ?
 

Dranreb

XLDnaute Barbatruc
Re : Aide à la création d'une Macro : Parcourir + Copie des données du fichier "Parco

Bonjour

Mettre devant :
VB:
Dim RepGOFn
RepGOFn = Application.GetOpenFilename("Fichier xls,*.xls;*.xlsx")
If VarType(RepGOFn) <> vbString Then Exit Sub
Set ClassSrc = Workbooks.Open(RepGOFn)
 

gregory2710

XLDnaute Nouveau
Re : Aide à la création d'une Macro : Parcourir + Copie des données du fichier "Parco

Je viens de vous joindre un fichier pour avoir une idée un peu plus concrète de ma Macro :)

En fait, l'utilisateur du fichier, sélectionne un fichier dans ses documents.

Ensuite, ce fichier est ouvert. Et la Macro copie toutes les données de la Sheet1 de ce document, et les colle sur la Feuil2 du classeur duquel il a exécuté la Macro..

merci pour votre aide :)
 

Fichiers joints

Dranreb

XLDnaute Barbatruc
Re : Aide à la création d'une Macro : Parcourir + Copie des données du fichier "Parco

Pour limiter à un dossier le choix du fichier par GetOpenFilename, faire devant ChDrive LaLettreDuLecteur: ChDir LeCheminDuDossier.
VB:
Sub Macro1()
Dim RepGOFn, ClasSrc As Workbook
ChDrive "C": ChDir "C:\SesDocuments"
RepGOFn = Application.GetOpenFilename("Fichier xls,*.xls;*.xlsx")
If VarType(RepGOFn) <> vbString Then Exit Sub
Set ClasSrc = Workbooks.Open(RepGOFn)
Feuil2.Cells.ClearContents
ClasSrc.Worksheets(1).UsedRange.Copy
Feuil2.[A1].PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
   SkipBlanks:=False, Transpose:=False
ClasSrc.Close SaveChanges:=False
Feuil3.Activate
End Sub
 

Discussions similaires


Haut Bas