Bonjour,
Dans un classeur j'ai 3 feuilles qui contiennent chacune un TCD (qui s'étend de la colonne B à la colonne T). Mes feuilles se nomment AnalyseX, AnalyseY, AnalyseZ.
Je voudrais pouvoir copier/coller les 3 TCD les uns à la suite des autres sur une quatrième feuille : Détail.
J'ai repris un code que l'on m'avait donné sur le forum CCM pour copier/coller des données contenu dans plusieurs classeurs, et j'essaye de l'adapter à mon nouveau besoin.
Cependant, je ne suis pas très douée en VBA, du coup je n'arrive pas à adapter le code pour qu'il puisse copier la deuxième feuille une fois qu'il a fini de copier la première et ainsi de suite.
Voici ce que j'ai pu faire :
Et voici le code que l'on m'a donné qui permet de faire un copier/coller de plusieurs classeurs:
Si quelqu'un peu m'aider à l'adapter .. Merci beaucoup
Dans un classeur j'ai 3 feuilles qui contiennent chacune un TCD (qui s'étend de la colonne B à la colonne T). Mes feuilles se nomment AnalyseX, AnalyseY, AnalyseZ.
Je voudrais pouvoir copier/coller les 3 TCD les uns à la suite des autres sur une quatrième feuille : Détail.
J'ai repris un code que l'on m'avait donné sur le forum CCM pour copier/coller des données contenu dans plusieurs classeurs, et j'essaye de l'adapter à mon nouveau besoin.
Cependant, je ne suis pas très douée en VBA, du coup je n'arrive pas à adapter le code pour qu'il puisse copier la deuxième feuille une fois qu'il a fini de copier la première et ainsi de suite.
Voici ce que j'ai pu faire :
Code:
Option Explicit
Sub Compiler_BaT()
Dim DL As Integer, LigVid As Long, Tampon
Dim Plage As Range
Application.ScreenUpdating = False
With Sheets("Détail")
Set Plage = Range(.Cells(3, 2), .Cells(.Cells(.Rows.Count, 2).End(xlUp).Row, 20))
Plage.ClearContents
End With
With Sheets("AnalyseX")
DL = .Columns("B:T").Find(what:="*", searchdirection:=xlPrevious).Row
Tampon = .Range("B6:J" & DL)
End With
With Sheets("Detail")
LigVid = .Columns("B:T").Find(what:="*", searchdirection:=xlPrevious).Row + 1
Cells(LigVid, "B").Resize(UBound(Tampon), 19) = Tampon
End With
End Sub
Et voici le code que l'on m'a donné qui permet de faire un copier/coller de plusieurs classeurs:
Code:
Option Explicit
'------
Sub compiler_BaN()
Dim Chemin As String, Fich As String
Dim Derlig As Integer, Ligvid As Long, Tampon
'fige le défilement de l'écran
Application.ScreenUpdating = False
ThisWorkbook.Sheets("Synthèse Globale").Range("B2:N10000").ClearContents
Chemin = ThisWorkbook.Path
'se déplace dans le dossier de travail
Fich = Dir(Chemin & "\classeur" & "*.xlsm")
While Fich <> ""
'ouverture d'un classeurX.xlsm
Workbooks.Open Filename:=Chemin & "\" & Fich 'ouvre le classeur
With Sheets("saisie")
Derlig = .Columns("B:N").Find(what:="*", searchdirection:=xlPrevious).Row
Tampon = .Range("B2:N" & Derlig) 'mémorise les données à compiler dans Base de données
End With
Workbooks(Fich).Close
'restitution
With ThisWorkbook.Sheets("Synthèse Globale")
Ligvid = .Columns("B:N").Find(what:="*", searchdirection:=xlPrevious).Row + 1
Cells(Ligvid, "B").Resize(UBound(Tampon), 13) = Tampon
End With
'affecte le fichier suivant (utilisation du joker " * " )
Fich = Dir
Wend
Sheets("Synthèse Globale").Activate
MsgBox "compilation terminée"
End Sub
Si quelqu'un peu m'aider à l'adapter .. Merci beaucoup