Copier / Coller données de plusieurs feuilles sur une feuille
Résolu/Fermé
ti_mouton
Messages postés
143
Date d'inscription
vendredi 29 mai 2015
Statut
Membre
Dernière intervention
5 septembre 2020
-
Modifié par ti_mouton le 28/07/2015 à 12:22
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 30 juil. 2015 à 20:26
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 30 juil. 2015 à 20:26
A voir également:
- Copier / Coller données de plusieurs feuilles sur une feuille
- Comment supprimer une feuille sur word - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Copier coller pdf - Guide
- Copier une vidéo youtube - Guide
- Fusionner plusieurs feuilles excel en une seule - Guide
3 réponses
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
30 juil. 2015 à 08:44
30 juil. 2015 à 08:44
Bonjour
Essayez ceci
Attention au nom donné à la feuille "Détail" (avec ou sans accent, ici j'ai mis l'accent).
Bonne journée
Cdlt
Essayez ceci
Private LigVid As Long Private DL As Integer Private Tampon Sub Compiler_BaT() Application.ScreenUpdating = False On Error Resume Next With Sheets("Détail") Cells.ClearContents End With With Sheets("AnalyseX") DL = .Columns("B:T").Find(what:="*", searchdirection:=xlPrevious).Row Tampon = .Range("B6:J" & DL) End With Recopie With Sheets("AnalyseY") DL = .Columns("B:T").Find(what:="*", searchdirection:=xlPrevious).Row Tampon = .Range("B6:J" & DL) End With Recopie With Sheets("AnalyseZ") DL = .Columns("B:T").Find(what:="*", searchdirection:=xlPrevious).Row Tampon = .Range("B6:J" & DL) End With Recopie End Sub Sub Recopie() On Error Resume Next With Sheets("Détail") LigVid = .Columns("B:T").Find(what:="*", searchdirection:=xlPrevious).Row + 1 If LigVid = 0 Then LigVid = 1 Cells(LigVid, "B").Resize(UBound(Tampon), 19) = Tampon End With End Sub
Attention au nom donné à la feuille "Détail" (avec ou sans accent, ici j'ai mis l'accent).
Bonne journée
Cdlt
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
30 juil. 2015 à 14:05
30 juil. 2015 à 14:05
Essayez
Cdlt
Private LigVid As Long Private DL As Integer Private Tampon Private DossierClient Private DossierProd Sub Compiler_BaT() Application.ScreenUpdating = False Application.DisplayAlerts = False On Error Resume Next DossierProd = ThisWorkbook.Name Chemin = ThisWorkbook.Path 'se déplace dans le dossier de travail DossierClient = Dir(Chemin & "\" & "*.xlsm") 'ouverture d'un classeurX.xlsm Workbooks.Open Filename:=Chemin & "\" & DossierClient 'ouvre le classeur With Sheets("Base Produit") Cells.ClearContents End With Windows(DossierProd).Activate With Sheets("AnalyseX") DL = [c1000000].End(xlUp).Row Tampon = .Range("c6:T" & DL) End With Recopie With Sheets("AnalyseY") DL = [c1000000].End(xlUp).Row Tampon = .Range("c6:T" & DL) End With Recopie With Sheets("AnalyseZ") DL = [c1000000].End(xlUp).Row Tampon = .Range("c6:T" & DL) End With Recopie Workbooks(DossierClient).Activate End Sub Sub Recopie() On Error Resume Next 'restitution Windows(DossierClient).Activate With Windows(DossierClient).Sheets("Base Produit") LigVid = [c1000000].End(xlUp).Row + 1 Cells(LigVid, 3).Resize(UBound(Tampon), 13) = Tampon End With Windows(DossierProd).Activate End Sub
Cdlt
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
30 juil. 2015 à 14:07
30 juil. 2015 à 14:07
Petit rectificatif
Private LigVid As Long Private DL As Integer Private Tampon Private DossierClient Private DossierProd Sub Compiler_BaT() Application.ScreenUpdating = False Application.DisplayAlerts = False On Error Resume Next DossierProd = ThisWorkbook.Name Chemin = ThisWorkbook.Path 'se déplace dans le dossier de travail DossierClient = Dir(Chemin & "\" & "*.xlsm") 'ouverture d'un classeurX.xlsm Workbooks.Open Filename:=Chemin & "\" & DossierClient 'ouvre le classeur With Sheets("Base Produit") Cells.ClearContents End With Windows(DossierProd).Activate With Sheets("AnalyseX") DL = [B1000000].End(xlUp).Row Tampon = .Range("B6:T" & DL) End With Recopie With Sheets("AnalyseY") DL = [B1000000].End(xlUp).Row Tampon = .Range("B6:T" & DL) End With Recopie With Sheets("AnalyseZ") DL = [B1000000].End(xlUp).Row Tampon = .Range("B6:T" & DL) End With Recopie Workbooks(DossierClient).Activate End Sub Sub Recopie() On Error Resume Next 'restitution Windows(DossierClient).Activate With Windows(DossierClient).Sheets("Base Produit") LigVid = [B1000000].End(xlUp).Row + 1 Cells(LigVid, 3).Resize(UBound(Tampon), 13) = Tampon End With Windows(DossierProd).Activate End Sub
ti_mouton
Messages postés
143
Date d'inscription
vendredi 29 mai 2015
Statut
Membre
Dernière intervention
5 septembre 2020
30 juil. 2015 à 19:49
30 juil. 2015 à 19:49
Il y un petit souci. Je n'ai aucun message d'erreur, mais le copier/coller ne s'effectue pas. Par contre le classeur "Analyse Produit" reste ouverte et les données de la feuille "Synthèse" sont effacées. je ne comprend pas, le nom de cette feuille n'est renseignées nulle part dans la macro...
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
30 juil. 2015 à 20:26
30 juil. 2015 à 20:26
Bonsoir
Je ma suis basé à ce que vous avez écrit dans le post 2, petit rappel:
J'aimerais copier ces trois TCD contenu dans les feuille AnalyseX, AnalyseY, AnalyseZ, du classeur Analyse Produit. Et les coller dans la feuille "<gras>Base Produit", du classeur "Analyse Client". </gras> A aucun moment vous parlez d'une feuille synthèse.
Si rien ne s'est coller, c'est que je ne pointe pas sur la première ligne des TCD, dans le cas présent je commence à la ligne B6 . Remplacez B6 par la première cellule en haut à gauche du TCD .
Cdlt
Je ma suis basé à ce que vous avez écrit dans le post 2, petit rappel:
J'aimerais copier ces trois TCD contenu dans les feuille AnalyseX, AnalyseY, AnalyseZ, du classeur Analyse Produit. Et les coller dans la feuille "<gras>Base Produit", du classeur "Analyse Client". </gras> A aucun moment vous parlez d'une feuille synthèse.
Si rien ne s'est coller, c'est que je ne pointe pas sur la première ligne des TCD, dans le cas présent je commence à la ligne B6 . Remplacez B6 par la première cellule en haut à gauche du TCD .
Cdlt
30 juil. 2015 à 11:43
Merci pour ton code !
Petite question, mon besoin a encore un peu évolué ...
J'aimerais copier ces trois TCD contenu dans les feuille AnalyseX, AnalyseY, AnalyseZ, du classeur Analyse Produit. Et les coller dans la feuille "Base Produit", du classeur "Analyse Client". Les deux classeurs "Analyse Produit" et "Analyse Client" font parti du même fichier.
Comment pourrais je procéder ?
Merci pour ton aide