Probleme de macro qui ne va pas "chercher" tous les fichiers

Résolu
fystina Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
fystina Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,


Débutante en macro, je cherchais une macro qui puissent me copier mes 4 fichiers excel avec un nombre de colonnes identiques mais un nombre de lignes différents pour les regrouper à la suite sur un seul fichier excel. j'ai trouver une macro sur ce site qui fonctionne très bien mais qui ne copie que 2 fichiers sur 4 !
je ne sais pas si c'est un probleme de memoire car le 3e fichier est trop lourd ou si c'est un probleme que je peux résoudre sur la macro..

voici la macro :

Sub regroupe()
Dim chemin As String ' classeur regroupé
Dim rep As String ' répertoire à traiter
Dim fic As String ' classeur regroupé
Dim ligne As Long ' ligne écriture
Dim nbc As Integer ' nombre de classeurs
Dim nbf As Integer ' nombre de feuilles
Dim nbl As Integer ' nombre de lignes
Dim c As Integer ' nombre de colonnes
Dim l As Long ' ligne lecture
Dim Wf As Worksheet ' feuille regroupement
Dim Wl As Worksheet ' feuille regroupée
rep = ThisWorkbook.Path & "\"
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.DisplayAlerts = False
On Error GoTo fin

'ChDir _
'"T:\...."
'Workbooks.Open Filename:= _
'"T:\..."


Set Wf = ThisWorkbook.ActiveSheet ' variable feuille groupe
Wf.Cells.ClearContents
nbc = 5: nbf = 3 ' initialisation variables
ligne = 1
fic = Dir(rep & "*.xml") ' recherche fichiers
While fic <> ""
If fic <> ThisWorkbook.Name Then
chemin = rep & fic ' chemin fichiers
Workbooks.Open chemin, 0 ' ouverture
Set Wl = ActiveWorkbook.Sheets(1)
nbl = Wl.UsedRange.Rows.Count
c = Wl.UsedRange.Columns.Count
If ligne > 1 Then l = 2 Else l = 1 ' une seule fois le titre
Wl.Cells(l, 1).Resize(nbl, c).Copy Destination:=Wf.Cells(ligne, 1)
ligne = ligne + nbl - l + 1
nbf = nbf + 1
ActiveWorkbook.Close SaveChanges:=False ' Fermeture du classeur
nbc = nbc + 1
End If
fic = Dir
Wend
fin:
MsgBox nbc & " classeurs regroupés avec " & nbf & " feuilles et " & ligne & " lignes"
Application.ScreenUpdating = True
Application.EnableEvents = True
Application.DisplayAlerts = True
End Sub '



Je ne sais pas comment résoudre le problème , pouvez vous me venir en aide svp !

ps : mon 1er fichier comporte 15000 lignes
le 2e 29000 lignes
le 3e 42200 lignes
le 4e 13000 lignes
A voir également:

5 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Si excel2003 ou anterieur cela est normal, 65535 lignes de disponnibles.

Si excel 2007 et plus: mettez la ligne on error en commentaire pour avoir un message s'il doit y en avoir un.

A+
0
fystina Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

merci pour votre aide, il me semble que c'est excel 2007 et pourtant la macro bloque que sur ce fichier qui comporte 42200 lignes..

comme je débute je n'ai pas compris quel ligne je dois mettre en error.. pouvez vous me détaillé cela.

merci,
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Juste au passage, est-ce que le classeur cible (ensemble des autres) à bien une extension : *.xlsm oui / Non ?
Avez-vous un message d'erreur ?
Pourquoi les classeurs sources ont une extension *.xml ?

0
fystina Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour le pingou :)
-oui le fichier qui va regrouper les 4 est en xlsm
-non je n'ai aucun message qui apparait
-les classeurs sources sont en xml car ce sont des extractions mais j'ai essayer en essayant de les enregistrer sous xlsx et ca fai la meme chose..:(
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour le pingou,

fystina: pouvez-vous mettre le fichier excel ou vous avez le VBA (macro) sans les mise a jour des fichiers importes sur: https://www.cjoint.com/ ,ne pas oublier de copier le lien cree sur votre prochain post.

A+
0
fystina Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Re- bonjour :)

voici le lien : https://www.cjoint.com/?3CvqhF9moIl

A++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,

Dim nbl As Long ' nombre de lignes en Long au lieu de Integer (entre -32 768 et 32 767)

le 3e 42200 lignes----->superieur a 32767 donc erreur, comme vous avez un on error goto, pas de message d'erreur: depassement de capacite.

A+
0
fystina Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
excellent ! ca fonctionne trés bien ! je te remercie bcp !! ;)
merci à le pingou aussi de s'etre interessé au sujet !
a bientot !
0