[vba] copier dans un fichier excel non ouvert
couc67
Messages postés
50
Date d'inscription
Statut
Membre
Dernière intervention
-
couc67 Messages postés 50 Date d'inscription Statut Membre Dernière intervention -
couc67 Messages postés 50 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai une macro qui me permet de calculer des résultats à partir de nolmbreuses données, et j'aimerais copier ces données dans un autre fichier, sans avoir besoin de l'ouvrir.
Ce fichier regrouperais uniquement les résultats importants que calcul ma macro.
J'ai le code suivant, mais il bloque sur la ligne d'activation de l'autre fichier :
'copier données de la feuille 4 du fichier source
FL4.Range("A2:I" & DerniereLigneColor).Copy
'activer fichier de regroupement des resultats et coller dans l'onglet "détails"
Windows("K:\*******\***********\Livraisons_XXXX.xls").Activate <-- bloque ici
Sheets("Détails").Select
Cells(2, 1).Paste
'copier les données de la feuille 3 du fichier source
Windows("K:\*******\***********\YYYY.xls").Activate
FL3.Range(Cells(DerniereLigne2, 5), Cells(DerniereLigne2, 7)).Copy
'coller dans l'onglet du fichier de regroupement des résultats dans l'onglet "Moyenne par quinzaine"
Windows("K:\*******\***********\Livraisons_XXXX.xls").Activate
Sheets("Moyenne par quinzaine").Select
Cells(DerniereLigne2, 5).Paste
Une petite idée pourquoi ca ne fonctionne pas ?
Merci d'avance pour votre aide
J'ai une macro qui me permet de calculer des résultats à partir de nolmbreuses données, et j'aimerais copier ces données dans un autre fichier, sans avoir besoin de l'ouvrir.
Ce fichier regrouperais uniquement les résultats importants que calcul ma macro.
J'ai le code suivant, mais il bloque sur la ligne d'activation de l'autre fichier :
'copier données de la feuille 4 du fichier source
FL4.Range("A2:I" & DerniereLigneColor).Copy
'activer fichier de regroupement des resultats et coller dans l'onglet "détails"
Windows("K:\*******\***********\Livraisons_XXXX.xls").Activate <-- bloque ici
Sheets("Détails").Select
Cells(2, 1).Paste
'copier les données de la feuille 3 du fichier source
Windows("K:\*******\***********\YYYY.xls").Activate
FL3.Range(Cells(DerniereLigne2, 5), Cells(DerniereLigne2, 7)).Copy
'coller dans l'onglet du fichier de regroupement des résultats dans l'onglet "Moyenne par quinzaine"
Windows("K:\*******\***********\Livraisons_XXXX.xls").Activate
Sheets("Moyenne par quinzaine").Select
Cells(DerniereLigne2, 5).Paste
Une petite idée pourquoi ca ne fonctionne pas ?
Merci d'avance pour votre aide
A voir également:
- [vba] copier dans un fichier excel non ouvert
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans system - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
3 réponses
Rebonjour,
j'ai simplifié le code, mais la ligne
Set FDest = Workbooks("K:\*******\***********\XXXXXXXX.xls")
ne passe toujours pas... je ne sais pas comment faire fonctionner, c'est pas faute d'avoir fait un tas de posts...
code :
Dim FPrem As Workbook, FDest As Workbook
Set FDest = Workbooks("K:\*******\***********\XXXXXXXX.xls")
Set FPrem = ThisWorkbook
FPrem.FL4.Range("A2:I" & DerniereLigneColor).Copy _
FDest.Sheets("Détails").Range("A2")
FPrem.FL3.Range(Cells(DerniereLigne2, 5), Cells(DerniereLigne2, 7)).Copy _
FDest.Sheets("Moyenne par quinzaine").Cells(DerniereLigne2, 5)
FL4 et FL3 sont definis de la manière suivante :
Set FL3 = Worksheets("Feuil3")
Set FL4 = Worksheets("Feuil4")
j'ai simplifié le code, mais la ligne
Set FDest = Workbooks("K:\*******\***********\XXXXXXXX.xls")
ne passe toujours pas... je ne sais pas comment faire fonctionner, c'est pas faute d'avoir fait un tas de posts...
code :
Dim FPrem As Workbook, FDest As Workbook
Set FDest = Workbooks("K:\*******\***********\XXXXXXXX.xls")
Set FPrem = ThisWorkbook
FPrem.FL4.Range("A2:I" & DerniereLigneColor).Copy _
FDest.Sheets("Détails").Range("A2")
FPrem.FL3.Range(Cells(DerniereLigne2, 5), Cells(DerniereLigne2, 7)).Copy _
FDest.Sheets("Moyenne par quinzaine").Cells(DerniereLigne2, 5)
FL4 et FL3 sont definis de la manière suivante :
Set FL3 = Worksheets("Feuil3")
Set FL4 = Worksheets("Feuil4")
Bonjour,
Des informations et exemples ici :
https://silkyroad.developpez.com/VBA/ClasseursFermes/#LIV-B
Cdt
Lupin
Des informations et exemples ici :
https://silkyroad.developpez.com/VBA/ClasseursFermes/#LIV-B
Cdt
Lupin
Merci !
Je vais tenter par cette méthode. C'est un peu l'usine à gaze, il n'y a rien de plus simple ? :)
je souhaiterais enregistrer un range(cells(1,1), cells(1,4)) par exemple dans la cellule cells(X, 7) avec X variable bien sûr, sinon c'est pas marrant :)
Dans le code du lien, sur la commande
Cd.CommandText = "SELECT * FROM [Feuil1$G30:G30]"
comment peut on utiliser la même chose mais pour une cellule variable ?
merci d'avance !!
Je vais tenter par cette méthode. C'est un peu l'usine à gaze, il n'y a rien de plus simple ? :)
je souhaiterais enregistrer un range(cells(1,1), cells(1,4)) par exemple dans la cellule cells(X, 7) avec X variable bien sûr, sinon c'est pas marrant :)
Dans le code du lien, sur la commande
Cd.CommandText = "SELECT * FROM [Feuil1$G30:G30]"
comment peut on utiliser la même chose mais pour une cellule variable ?
merci d'avance !!