MacroVBA copie donnée de fichier differents [Résolu/Fermé]

Signaler
Messages postés
33
Date d'inscription
jeudi 30 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
-
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
-
Bonjour,

J'ai besoin d'aide sur une macro pour copier dans le fichier A (récapitulant le mois) des valeurs depuis d'autres fichiers (les valeurs quotidiennes).
Le début de macro suit en dessous.
Le problème c'est que mes fichiers quotidiens portent les noms des dates de création.
J'ai lu que je ne peux pas mettre un nom de fichier variable dans la commande d'ouverture de fichier (Workbooks.Open Filename:=" ") ?
Dois-je mettre un volet déroulant (avec toutes les dates (ie: nom de fichiers)) pour fixer le jour que ma macro incluera dans ses operations? comment faire?
Merci de votre aide!

'open the source file
Workbooks.Open Filename:="C:\Documents and Settings\...\31-03-2009.xls"
'and copy the data
Range("C36").Select
Selection.Copy
Windows("overview mars09.xls").Activate
Range("D36").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWorkbook.Close

3 réponses

Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 104
Workbooks.Open Filename:="C:\Documents and Settings\...\dayTOcopy.xls"
PAS BON,

Dim dayTOcopy as String
Si la date est dans une cellule tu peu faire
dayTOcopy = Cells(Ligne,Colonne)

Workbooks.Open Filename:="C:\Documents and Settings\...\" & dayTOcopy & ".xls"
A ajuster bien sùr.
A+


1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60986 internautes nous ont dit merci ce mois-ci

Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 104
Bonjour,
J'ai lu que je ne peux pas mettre un nom de fichier variable dans la commande d'ouverture de fichier (Workbooks.Open Filename:=" ") ?
Tu a mal lu, c'est tout a fait possible d'ouvrir un classeur avec un nom de variable.
Toutefois, précision, il ne faut pas de guillemet.
A+
Messages postés
33
Date d'inscription
jeudi 30 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
1
Salut lermite, Merci pour cette précision !
est ce que ça veut dire qu il faut declarer la chaine de caractère (du nom du fichier jour) comme ma variable?
genre:
Dim dayTOcopy as String

dans une case de la feuille à laquelle je définis le nom dayTOcopy, je fais rentrer la date (nom du fichier) qu'il faudra traiter dans la macro ?

Je peux faire
Workbooks.Open Filename:="C:\Documents and Settings\...\dayTOcopy.xls"
??