Macro copier coller feuille d'un classeur dans un autre classeur
Résolu
zoro1791
Messages postés
8
Statut
Membre
-
zoro1791 -
zoro1791 -
Bonjour à tous,
Je souhaite créer une macro qui me permets de copier des colonnes (C:O) à partir de la ligne 2 d'un onglet nommé (RN) de tous les classeurs excel déposés dans un dossier (DO) et les coller dans mon classeur ouvert. En d'autre terme, quand je clique sur ma macro de mon classeur actif, je dois me retrouver avec toutes les données des colonnes (C:O) des onglets (RN) "sans les titres des colonnes donc sans la ligne 1" de tous les classeurs déposés dans le dossier (DO).
J'ai réussi à faire la macro mais j'ai un problèmes : l'onglet copié de chaque classeur déposé dans le dossier (DO) est la feuille active et non la feuille (RN) je n'arrive pas à trouver la syntaxe qui dit à la macro que je veux copier uniquement l'onglet (RN) de chaque classeur déposé dans (DO). Merci d'avance les amis
Voila ma macro :
Sub Regroupe()
sousRépertoire = "DO"
[A2].CurrentRegion.Offset(1, 0).Clear
Set maitre = ActiveWorkbook
Repertoire = ThisWorkbook.Path
nf = Dir(Repertoire & "\" & sousRépertoire & "\*.xls")
Do While nf <> ""
Workbooks.Open Filename:=Repertoire & "\" & sousRépertoire & "\" & nf
n = [A1].CurrentRegion.Rows.Count - 1
[A1].Columns("C:O").Offset(1, 0).Copy _
maitre.Sheets(1).[A65000].End(xlUp).Offset(1, 0)
ActiveWorkbook.Close False
nf = Dir
Loop
End Sub
Je souhaite créer une macro qui me permets de copier des colonnes (C:O) à partir de la ligne 2 d'un onglet nommé (RN) de tous les classeurs excel déposés dans un dossier (DO) et les coller dans mon classeur ouvert. En d'autre terme, quand je clique sur ma macro de mon classeur actif, je dois me retrouver avec toutes les données des colonnes (C:O) des onglets (RN) "sans les titres des colonnes donc sans la ligne 1" de tous les classeurs déposés dans le dossier (DO).
J'ai réussi à faire la macro mais j'ai un problèmes : l'onglet copié de chaque classeur déposé dans le dossier (DO) est la feuille active et non la feuille (RN) je n'arrive pas à trouver la syntaxe qui dit à la macro que je veux copier uniquement l'onglet (RN) de chaque classeur déposé dans (DO). Merci d'avance les amis
Voila ma macro :
Sub Regroupe()
sousRépertoire = "DO"
[A2].CurrentRegion.Offset(1, 0).Clear
Set maitre = ActiveWorkbook
Repertoire = ThisWorkbook.Path
nf = Dir(Repertoire & "\" & sousRépertoire & "\*.xls")
Do While nf <> ""
Workbooks.Open Filename:=Repertoire & "\" & sousRépertoire & "\" & nf
n = [A1].CurrentRegion.Rows.Count - 1
[A1].Columns("C:O").Offset(1, 0).Copy _
maitre.Sheets(1).[A65000].End(xlUp).Offset(1, 0)
ActiveWorkbook.Close False
nf = Dir
Loop
End Sub
A voir également:
- Macro copier coller d'un classeur à un autre
- Retrouver un copier-coller android - Guide
- Copier-coller - Accueil - Informatique
- Style d'écriture a copier coller - Guide
- Copier coller pdf - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
4 réponses
Re,
ci joint le classeur "conso rn"en retour
on ouvre pas les classeurs A à D (+confort et rapidité)
https://mon-partage.fr/f/WSyLD9Cl/
Edit 11:59
petites améliorations sur le code ; annule le lien précédent
https://mon-partage.fr/f/kMicQHjr/
Michel
ci joint le classeur "conso rn"en retour
on ouvre pas les classeurs A à D (+confort et rapidité)
https://mon-partage.fr/f/WSyLD9Cl/
Edit 11:59
petites améliorations sur le code ; annule le lien précédent
https://mon-partage.fr/f/kMicQHjr/
Michel
zoro1791
Messages postés
8
Statut
Membre
WOW ça marche à merveille. ça résout à 100% mon problème. Merci 1000 fois Michel pour cette rapidité et efficacité !!!! Bravo
Bonjour
Copies tu que des données et quel type(texte,nombre...)?
Combien de classeurs à copier ?
AU besoin montrer la structure d'un classeur source
dans l'attente
Copies tu que des données et quel type(texte,nombre...)?
Combien de classeurs à copier ?
AU besoin montrer la structure d'un classeur source
dans l'attente
Bonjour Michel,
Je copie toutes les données (chiffre et texte) en format STANDARD. Il y a 4 classeurs à copier (1 seul onglet à copier dans chacun de ces classeurs)
Voici mon fichier (conso RN) ou je veux mettre ma macro et 4 fichiers exemples (A B C D) qui contiennent l'onglet à copier (RN).
A l'exécution de la macro "regroupe" dans le fichier (conso RN) je n'ai que les données de l'onglet RN des 2 classeur C et D car dans A et B RN n'est pas l'onglet actif.
DSL pour ma réponse tardive.
Merci d'avance.
Je copie toutes les données (chiffre et texte) en format STANDARD. Il y a 4 classeurs à copier (1 seul onglet à copier dans chacun de ces classeurs)
Voici mon fichier (conso RN) ou je veux mettre ma macro et 4 fichiers exemples (A B C D) qui contiennent l'onglet à copier (RN).
A l'exécution de la macro "regroupe" dans le fichier (conso RN) je n'ai que les données de l'onglet RN des 2 classeur C et D car dans A et B RN n'est pas l'onglet actif.
DSL pour ma réponse tardive.
Merci d'avance.
voici le lien pour accéder à mes fichiers :
je précise que j'ai copie colle toutes les colonnes au lieu de (C:O) car ça faisait bugger ma macro.
https://www.cjoint.com/c/HAsmFKMPoYr
je précise que j'ai copie colle toutes les colonnes au lieu de (C:O) car ça faisait bugger ma macro.
https://www.cjoint.com/c/HAsmFKMPoYr
Rebonjour Michel,
j'ai compressé avec Windows 10 cette fois ci : https://www.cjoint.com/c/HAsqmGsf3Zr
j'ai compressé avec Windows 10 cette fois ci : https://www.cjoint.com/c/HAsqmGsf3Zr
Bonjour,
pourquoi xlcellsvisible ?....!!!
j'avais reçu des classeurs au format xls ou xlsx et je trouve des classeurs au format xlsb mal reconnus par ADODB...
Ligvid passe en "Long" compte tenu du nombre de lignes important dans les classeurs: voir dans un tuto un chapitre sur les variables...
pourquoi xlcellsvisible ?....!!!
j'avais reçu des classeurs au format xls ou xlsx et je trouve des classeurs au format xlsb mal reconnus par ADODB...
Ligvid passe en "Long" compte tenu du nombre de lignes important dans les classeurs: voir dans un tuto un chapitre sur les variables...
Bonjour Michel,
J'ai été contraint d'enregistrer mes fichiers en format xlsb car ça réduit leurs tailles considérablement (les fichiers sont destinés à être envoyés chaque semaine par Outlook). J'ai aussi rajouté xlcellsvisible pensant que ça n'allait copier que les cellules visibles mais apparemment ça ne marche pas comme ça.
C'est dû à ma méconnaissance de ADODB.
Y a t-il une solution ?
Merci d'avance.
J'ai été contraint d'enregistrer mes fichiers en format xlsb car ça réduit leurs tailles considérablement (les fichiers sont destinés à être envoyés chaque semaine par Outlook). J'ai aussi rajouté xlcellsvisible pensant que ça n'allait copier que les cellules visibles mais apparemment ça ne marche pas comme ça.
C'est dû à ma méconnaissance de ADODB.
Y a t-il une solution ?
Merci d'avance.
Ça marchait avec des classeurs xlsx, donc...
et avec dim ligvid as long
Quand tu demandes de l'aide sur du VBA, sois extrêmement précis et exhaustif,dans la description de ton problème.
c'est d’ailleurs pas forcément évident à rédiger suivant le vieux proverbe "un problème bien posé est à moitié résolu"
et avec dim ligvid as long
Quand tu demandes de l'aide sur du VBA, sois extrêmement précis et exhaustif,dans la description de ton problème.
c'est d’ailleurs pas forcément évident à rédiger suivant le vieux proverbe "un problème bien posé est à moitié résolu"