Macro qui copie et colle des données selon des conditions
Résolu
Dreampower75
Messages postés
91
Statut
Membre
-
Dreampower75 Messages postés 91 Statut Membre -
Dreampower75 Messages postés 91 Statut Membre -
Bonjour,
J'ai programmé une Macro qui copie les données de fichiers qui dont l'intitulé débute par "VBAChargement_BUD..." (fichier source) pour les coller dans l'onglet "Budget" du fichier "VBASuivi Var" (fichier de destination) selon des conditions :
1) Dans le fichier VBASuivi Var les données doivent être collés à partir de la colonne C et partir de la ligne 5 en dessous des informations existantes
2) que la Macro copie les données de tous les fichiers qui commencent par "VBAChargement_BUD..." (car il peut y avoir 5 ou 6 fichiers dont l'intitulé débute par "VBAChargement_BUD...")
3) les données à copier dans les fichiers (voir la 2ieme capture d'écran : Fichier Source) qui débutent par "VBAChargement_BUD..." doivent l'être de la rangée "A11 à J11" (ligne 11) jusqu'à ce qu'il n'ai plus de données à copier (dans le cas de la pièce jointe c'est ligne 12 mais cela peut être ligne 16 si il y a des données présentes jusqu'à la ligne 16)
J'ai essayé le codage ci-après mais il ne fonctionne pas.
Est-ce que vous pouvez m'aider ?
Merci d'avance
J'ai joint 3 fichiers illustratifs :
Le lien a été crée : https://www.cjoint.com/c/LDbjuhxtndO
Le lien a été crée : https://www.cjoint.com/c/LDbjvuiJqtO
Le lien a été crée : https://www.cjoint.com/c/LDbjxQFp26O
Merci d'avance
Sub budget()
Dim x
For Each x In Workbooks
If x.Name Like "Chargement_BUD*.xlsm" Then
Range("A10").Select
Application.CutCopyMode = False
Selection.Copy
Range("J1").Select
ActiveSheet.Paste
End If
Next x
End Sub
- FICHIER DE DESTINATION -

- FICHIER SOURCE -

J'ai programmé une Macro qui copie les données de fichiers qui dont l'intitulé débute par "VBAChargement_BUD..." (fichier source) pour les coller dans l'onglet "Budget" du fichier "VBASuivi Var" (fichier de destination) selon des conditions :
1) Dans le fichier VBASuivi Var les données doivent être collés à partir de la colonne C et partir de la ligne 5 en dessous des informations existantes
2) que la Macro copie les données de tous les fichiers qui commencent par "VBAChargement_BUD..." (car il peut y avoir 5 ou 6 fichiers dont l'intitulé débute par "VBAChargement_BUD...")
3) les données à copier dans les fichiers (voir la 2ieme capture d'écran : Fichier Source) qui débutent par "VBAChargement_BUD..." doivent l'être de la rangée "A11 à J11" (ligne 11) jusqu'à ce qu'il n'ai plus de données à copier (dans le cas de la pièce jointe c'est ligne 12 mais cela peut être ligne 16 si il y a des données présentes jusqu'à la ligne 16)
J'ai essayé le codage ci-après mais il ne fonctionne pas.
Est-ce que vous pouvez m'aider ?
Merci d'avance
J'ai joint 3 fichiers illustratifs :
Le lien a été crée : https://www.cjoint.com/c/LDbjuhxtndO
Le lien a été crée : https://www.cjoint.com/c/LDbjvuiJqtO
Le lien a été crée : https://www.cjoint.com/c/LDbjxQFp26O
Merci d'avance
Sub budget()
Dim x
For Each x In Workbooks
If x.Name Like "Chargement_BUD*.xlsm" Then
Range("A10").Select
Application.CutCopyMode = False
Selection.Copy
Range("J1").Select
ActiveSheet.Paste
End If
Next x
End Sub
- FICHIER DE DESTINATION -

- FICHIER SOURCE -

Configuration: Windows / Chrome 100.0.4896.60
A voir également:
- Macro qui copie et colle des données selon des conditions
- Fuite données maif - Guide
- Trier des données excel - Guide
- Copie cachée - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Super copie - Télécharger - Gestion de fichiers
2 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour,
"il ne fonctionne pas": quel est le symptôme?
"il ne fonctionne pas": quel est le symptôme?
je n'arrive pas à trouver le bon codage pour réaliser mon projet
Option Explicit Sub budget() Dim csrc As Workbook, fsrc As Worksheet, fdest As Worksheet, rsrc As Range, rdest As Range Set fdest = ThisWorkbook.Sheets("Budget") Set rdest = fdest.[a4].End(xlDown).Offset(1) For Each csrc In Workbooks If csrc.Name Like "*Chargement*.xlsm" Then Set fsrc = csrc.Sheets("Coûts") Set rsrc = fsrc.[A11] Do While rsrc <> "" rdest = rsrc rdest.Offset(, 3) = rsrc.Offset(, 1) Set rsrc = rsrc.Offset(1) Set rdest = rdest.Offset(1) Loop End If Next csrc End SubJ'ai essayé le codage ci-après pour fermer à la fin de la macro les fichiers qui débutent par "Chargement" mais cela ne fonctionne pas
est-ce que tu peux m'aider ?
merci
For Each x In Workbooks
If x.Name Like "*Chargement*.xlsm" Then
Workbooks("*Chargement*.xlsm").Close savechanges:=False
End If
Next x
moi j'essaierais plutôt: