Bonjour,
je suis novice en excel-VBA.
j'ai réussi, grace à internet, à faire une macro qui me permet de copier des colonnes d'une feuille à une autre.
en poussant les commandes, je voulais directement copier depuis le fichier source dans mon fichier résultat. cela marche quand j'identifie clairement mon fichier source. la suptilité maintenant c'est que je souhaite pouvoir copier les colonnes du fichiers que j'ouvre, donc pas forcément le même nom.xls.
voici le bout de code que j'ai:
Sub MacroSol()
'Ouvrir le fichier de source
Set xlApp = CreateObject("Excel.Application")
CheminFichier = Application.GetOpenFilename("Fichier excel, *.xlsx", , , , False)
'copier la colonne A de Base du fichier
Windows("fichier source sept13.xlsx").Activate
Sheets("Base").Select
Columns("A:A").Select
Range("A2").Activate
Selection.Copy
'coller la colonne dans la feuille 2
Windows("fichier destination.xlsm").Activate
Sheets("Resultat").Select
Columns("A:A").Select
ActiveSheet.Paste
End Sub
Je copie les colonnes dont j'ai besoin en copiant les différentes colonnes.
Mon Problème c'est que le fichier source change de nom à chaque mois et je vais le choisir dans un répertoire qui peut changer aussi alors je vais le chercher manuellement.
Donc je souhaite activer le fichier que j'ouvre pour faire la copie. Comment faire pour ne pas mettre le nom du fichier dans cette ligne "Windows("fichier source sept13.xlsx").Activate" , mais que ce soit le fichier que j'ouvre qui se selectionne. La macro reste dans le fichier destination.