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 2239 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 28 janvier 2023 - 30 juil. 2015 à 20:26
Frenchie83 Messages postés 2239 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 28 janvier 2023 - 30 juil. 2015 à 20:26
A voir également:
- Copier / Coller données de plusieurs feuilles sur une feuille
- Dessin a copier coller ✓ - Forum Internet / Réseaux sociaux
- Copier plusieurs feuilles excel dans une seule - Guide
- Copier une vidéo youtube - Guide
- Supprimer une feuille word - Guide
- Coeur copier coller ✓ - Forum Internet / Réseaux sociaux
3 réponses
Frenchie83
Messages postés
2239
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
28 janvier 2023
335
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
2239
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
28 janvier 2023
335
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
2239
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
28 janvier 2023
335
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
2239
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
28 janvier 2023
335
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