MacroVBA copie donnée de fichier differents

Résolu/Fermé
Camillegbg Messages postés 33 Date d'inscription jeudi 30 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 - 14 mai 2009 à 10:11
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 14 mai 2009 à 10:35
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 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
14 mai 2009 à 10:35
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 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
14 mai 2009 à 10:18
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 jeudi 30 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 1
14 mai 2009 à 10:27
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