Macro Exel copier dossier

Résolu
JB22 -  
 JB22 -
Bonjour,
J' ai la macro suivante pour copier des dossiers dans un autre dossier, mais cela ne fonctionne pas;

1 -Sub CopiesDIS()
'
2- ' CopiesDIS Macro
'

'
3- Windows("DOSAUBERT.xlsm").Activate
4- Range("A5:G15").Select 5- Selection.Copy

5- Windows("CCM.multi.ZZZ.xlsm").Activate

6- Sheets("AUBERT").Select
7- Range("A5").Select
8- ActiveSheet.Paste
9- Range("A5").Select

'---------------------------------------------------------------
10- Windows("DOSBERNARD.xlsm").Activate '
11- Range("A5:G15").Select '
12- Selection.Copy

13- Windows("CCM.multi.ZZZ.xlsm").Activate

14 - Sheets("BERNARD").Select
15- Range("A5").Select
16- Range("A5").Select


'---------------------------------------------------------------

17- Windows("DOSCARDON.xlsm").Activate
18- Range("A5:G15").Select
19- Selection.Copy

20- Windows("CCM.multi.ZZZ.xlsm").Activate 21- Range("A18").Select
21- Sheets("CARDON").Select
22- Range("A5").Select
23- ActiveSheet.Paste
24- Range("A11").Select
25- Ebd Sub

Merci d' avance pour l' aide;
Cdt,
A voir également:

7 réponses

T3chN0g3n Messages postés 5241 Date d'inscription   Statut Membre Dernière intervention   1 178
 
Bonjour,

Je vous invite à mettre des balises pour identifier votre code. Ca sera déjà un poil plus propre (4eme bouton en haut de la fenêtre de rédaction).

Ensuite il va falloir être plus claire sur les termes et le besoin, je ne vois que des classeurs, avec des feuilles, et des plages de cellules, pas de "Dossier" ici. Pour faire un copier coller d'un classeur à un autre il y'a environ 10 fois trop de code. C'est une macro généré automatiquement (enregistrement ?). En plus il y'a des références vers quatre classeur différents. Énoncez plus précisément votre besoin !

Un exemple quand même:
Sub Copier_Coller()    'Déclaration et nom de la macro

' Description libre : Macro pour Copier - Coller une plage de cellules entre deux classeur

    Sheets("AUBERT").Select    'Sélection de la feuille source d'où vous voulez copier
    Range("A5:G15").Select    'Sélection de la plage de cellule à copier
    Selection.Copy    'Copie de la plage dans le presse-papier
    Windows("DOSBERNARD.xlsm").Activate    'Sélection du classeur de destination
    Sheets("BERNARD").Select    'Sélection de la feuille de destination
    Range("A5:G15").Select    'Sélection de la plage de destination
    ActiveSheet.Paste    'Ecriture des données
    Windows("DOSAUBERT.xlsm").Activate    'Facultatif, retour sur le premier classeur
End Sub ' Fin de la macro



Cdlt.
0
JB22
 
Merci de votre réponse rapide,
Dans mon, exemple j' ai des applications Excel que je nomme "Dossier", AUBERT, BERNARD,
CARDON;; contenant chacun une feuille contenant les informations actualisées et qui doivent être coller dans un Dossier Excel nommé "RECAP" dans des feuilles nommées AUBERT, BERNARD, CARDON..
Les données des différentes feuilles du dossier RECAP sont totalisées dans une feuille nommée "RECAP.

J' ai mis des numéros de ligne au lieu de balises.
La ligné 4
4- Range("A5:G15").Select 5- Selection.Copy
doit être modifiée ainsi
4- Range("A5:G15").Select
5- Selection.Copy

Ma macro est faite par "enregistrer une macro" mais elle ne fonctionne pas, rien n' est copier.

Encore merci,
Cdt
0
T3chN0g3n Messages postés 5241 Date d'inscription   Statut Membre Dernière intervention   1 178
 
Bonjour,

Il faut reprendre à zéro... je part de ma base et je duplique pour les trois opérations:

Sub Copier_Coller()    'Déclaration et nom de la macro

' Description libre : Macro pour Copier - Coller une plage de cellules entre deux classeur

'Copie des cellules du premier "dossier" vers le recap
    Windows("DOSAUBERT.xlsm").Activate 'Sélection du classeur source
    Sheets("AUBERT").Select    'Sélection de la feuille source d'où vous voulez copier
    Range("A5:G15").Select    'Sélection de la plage de cellule à copier
    Selection.Copy    'Copie de la plage dans le presse-papier
    Windows("RECAP.xlsm").Activate    'Sélection du classeur de destination
    Sheets("AUBERT").Select    'Sélection de la feuille de destination
    Range("A5:G15").Select    'Sélection de la plage de destination
    ActiveSheet.Paste    'Ecriture des données
'Copie du 2eme "dossier" vers le recap
    Windows("DOSBERNARD.xlsm").Activate 
    Sheets("BERNARD").Select
    Range("A5:G15").Select
    Selection.Copy
    Windows("RECAP.xlsm").Activate
    Sheets("BERNARD").Select
    Range("A5:G15").Select
    ActiveSheet.Paste
'Copie du 3eme "dossier" vers le recap
    Windows("DOSCARDON.xlsm").Activate 
    Sheets("CARDON").Select
    Range("A5:G15").Select
    Selection.Copy
    Windows("RECAP.xlsm").Activate
    Sheets("CARDON").Select
    Range("A5:G15").Select 
    ActiveSheet.Paste 
End Sub ' Fin de la macro


Vous avez la structure et la fonction de chaque ligne, à vous d'adapter !
0
JB22
 
Bonsoir,

La macro butte sur la ligne ci-dessous, comme c' était le cas dans ma macro.

balise 10- Windows("RECAP.xlsm").Activate 'Sélection du classeur de destination

Je ne comprends pas pourquoi,

Merci de ton intérêt à mon problème.
Cdt,
0
T3chN0g3n Messages postés 5241 Date d'inscription   Statut Membre Dernière intervention   1 178
 
Vérifier que ce soit le bon nom et le bon format de fichier ... (bien xslm et pas xlsx)
0
JB22
 
J' ai vérifier, tout est correct, l"' erreur ne vient pas de là:

Je comprend toujours pas d' où vient le problème;

Merci, cordialement.
0
T3chN0g3n Messages postés 5241 Date d'inscription   Statut Membre Dernière intervention   1 178
 
Tous vos fichiers sont ouverts, et dans le même dossier ? (Dans le doute mettez le chemin d'accès complet type C:\User\Abcde\Documents\RECAP.xlsm)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
Bonjour JB22, T3chNog3n

excusez l'incruste
Que copies tu ? des données, les formats, colleurs etc.... ?
car si c'est seulement des valeurs il y a peut-^tre + Simple et rapide....

0
T3chN0g3n Messages postés 5241 Date d'inscription   Statut Membre Dernière intervention   1 178
 
Bonjour,

Il n'y a pas d'incruste, toute aide est bienvenue, je n'ai pas le monopole ^^

Cdlt.
0
JB22
 
Je confirme :
"Il n'y a pas d'incruste, toute aide est bienvenue, je n'ai pas le monopole ^^"

Oui les données actualisées des dossiers individuels, AUBERT, BERNARD,...contiennent des données numériques.
Dans le dossier RECAP" il y autant de feuilles au nom des dossiers individuels , AUBERT,BERNARD, CARDON...
Dans ce dossier une feuille "RECAL donne le total de toutes les feuilles individuelles.

Le problème vient de la difficulté de coller par macro les données actualisées de chaque feuille individuelle dans le dossier "RECAP".

Je pense avoir été assez clair,

Grand merci pour toute contribution;
Cdt
Jean Braconnier
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
Re, Les classeurs (aubert, Bernerd...)que tu veux recopier vers le classeur "Recap" sont ils dans le m^me dossier (répertoire si tu préfères: le mot "dossier" est le nom moderne de "répertoire" ) ?
0
T3chN0g3n Messages postés 5241 Date d'inscription   Statut Membre Dernière intervention   1 178
 
Bonjour,

Je vois pas la difficulté ... Voici un dossier exemple, vous avez un bouton pour lancer la macro dans l'onglet RECAP du fichier du même nom.
https://www.cjoint.com/c/LCinH2Rae1X (lien valide 21 jours)

Cdlt.
0
JB22
 
Merci pour le lien.
Cela fonctionne bien;, la macro est un peu longue, mais on ne la crée qu'une fois avec des recopie de fonctions en changeant les noms;
Le test ne concerne qu' une donnée dans chaque dossier individuel mais j' ai pu adopter la feuille à plusieurs données.
Encore un grand merci.
Cdt,
Jean braconnier
0