Regrouper plusieur excel dans un seul .xlsx

Regrouper plusieur excel dans un seul .xlsx - VB/VBA/VBS - Programmation

Marsh Posté le 17-05-2013 à 16:28:42    

Bonjour a tous,
 
Je souhaite pourvoir regrouper dans un fichier excel plusieurs fichiers excels.
Chaque fichier contient une seule feuille de calcul.
Ces fichiers doivent devenir chacun une seule feuille de calcul de mon fichier cible.
J'ai trouvé un code en cherchant et il correspond à ce que je recherche hormis qu'il fonctionne avec les .xls et pas les .xlsx .
J'ai essayé de le modifié mais sans succès.
J' espère que certains d'entre vous vont pouvoir m'aider.
Merci d'avance je vous joins le code qui fonctionne avec des xls :  
Sub ConvertirFichiersEnFeuilles()
On Error GoTo gesterreur
Dim VarListeFichiers As Variant, VarFichier As Variant, WkClasseur As Workbook, WkFinal As Workbook, WsFeuille As Worksheet
 
VarListeFichiers = Application.GetOpenFilename(filefilter:="Classeurs eXceL,*.xlsx", Title:="Choisissez les Classeurs à récupérer", MultiSelect:=True)
If VarType(VarListeFichiers) = vbBoolean Then MsgBox "Abandon !": Exit Sub  'pour identifier le bouton annuler
Set WkFinal = Workbooks.Add 'générer le classeur final
 
  For Ctr = 1 To UBound(VarListeFichiers)
    MsgBox VarListeFichiers(Ctr)
           
         Set WkClasseur = Workbooks.Open(Filename:=VarListeFichiers(Ctr))
        Set WsFeuille = WkClasseur.Worksheets(1)
            WsFeuille.Move before:=WkFinal.Worksheets(1)
        WkClasseur.Close savechanges:=False
   
  Next
 
'For Each VarFichier In VarListeFichiers
 
'Next VarFichier
 
Exit Sub
 
gesterreur:
'classeur vide
If Err.Number = -2147221080 Then
Resume Next
End If
 
End Sub

Reply

Marsh Posté le 17-05-2013 à 16:28:42   

Reply

Marsh Posté le 17-05-2013 à 20:23:02    

 
        Bonsoir.
 
        En fait l'erreur provient de la ligne n° …   Ah zut, l'icône prévue pour le code n'a pas été utilisée !
 
        Bon ben tant pis, voici une autre marche à suivre :

  • Désactiver la gestion d'erreur non appropriée dans ce cas et aussi pour comprendre ce qu'il se passe.
  • Mettre un point d'arrêt dans le code à un endroit stratégique, par exemple après le message puis poursuivre en mode pas à pas (F8).
  • A chaque instruction, vérifier ce qu'il se passe puis le déclenchement de l'erreur sera évident.


        A suivre …
 
 
        EDIT :
 
        Au lieu de s'investir et de prendre la peine de répondre, cela semble plus facile de faire la même demande sur un autre forum,
        l'étudiant n'est plus ce qu'il était, l'étudiant moderne n'étudie plus mais est devenu le roi du plagiat
        et s'étonne même que cela ne fonctionne pas ‼
 
        Suite ici


Message édité par Marc L le 22-05-2013 à 14:45:08
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed