Bonjour à tous,
Je suis dans la gadou ^^
Enfaite j'aimerai faire une macro VBA qui va chercher des classeurs excel dans un dossier et qui copie tout leurs contenus dans un fichier principal (les contenus se mettent dans la même feuille à l'un à la suite des autres).
J'ai déja cherché pas mal de temps sur la toile et j'ai trouvé des choses interessantes, notamment :
Bon j'ai déja bidouillé ce code, ca à l'air de fonctionner pour recopier les i première lignes. Le problème c'est que je dois maintenant définir i comme le nombre de ligne du fichier dont je souhaite copier les données. Mais je ne sais pas comment faire !
Je sais compter le nombre de ligne du fichier déjà ouvert, mais pas celui du fichier fermé.
Enfin je m'embrouille totalement, j'ai même essayé les ADO mais aucun ne veux fonctionner.
Bref, je nage totalement maintenant.
Merci d'avance à ceux qui m'ont lu.
Cordialement,
Viteazul
Je suis dans la gadou ^^
Enfaite j'aimerai faire une macro VBA qui va chercher des classeurs excel dans un dossier et qui copie tout leurs contenus dans un fichier principal (les contenus se mettent dans la même feuille à l'un à la suite des autres).
J'ai déja cherché pas mal de temps sur la toile et j'ai trouvé des choses interessantes, notamment :
Code:
Option Explicit
Sub ImporterDates()
Dim Chemin As String, Fichier As String
Dim i As Long
Dim DernLigne As Long
Columns(1).NumberFormat = "m/d/yyyy"
Chemin = "C:\Users\Tuco\Desktop\Analyse par heure et par mois\"
[B1] = Chemin
Fichier = Dir(Chemin & "*.xls")
Do While Len(Fichier) > 0
If Fichier <> ThisWorkbook.Name Then
i = 123
ThisWorkbook.Names.Add "Plage", _
RefersTo:="='" & Chemin & "[" & Fichier & "]Feuil1'!$A$1:$H$" & i
With Sheets("Feuil2")
DernLigne = .Range("A" & Rows.Count).End(xlUp).Row
.Range("A1:H" & i) = "=Plage"
.Range("A1:H" & i).Copy
Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
End With
End If
Fichier = Dir()
Loop
End Sub
Bon j'ai déja bidouillé ce code, ca à l'air de fonctionner pour recopier les i première lignes. Le problème c'est que je dois maintenant définir i comme le nombre de ligne du fichier dont je souhaite copier les données. Mais je ne sais pas comment faire !
Je sais compter le nombre de ligne du fichier déjà ouvert, mais pas celui du fichier fermé.
Enfin je m'embrouille totalement, j'ai même essayé les ADO mais aucun ne veux fonctionner.
Bref, je nage totalement maintenant.
Merci d'avance à ceux qui m'ont lu.
Cordialement,
Viteazul