MacroVBA copie donnée de fichier differents

Résolu
Camillegbg Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -  
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   -
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
A voir également:

3 réponses

lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
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
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
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+
0
Camillegbg Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   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"
??
0