|   Si vous gérez plusieurs classeurs Excel avec des données similaires , vous pouvez fusionner tous dans un seul classeur sommaire. Cela laisse les classeurs d'origine intact et vous donne un seul classeur à utiliser comme un aperçu . Excel facilite le processus à travers son add-on Visual Basic. Le code peut paraître long et intimidant, mais c'est un travail de copier- coller assez simple qui ne nécessite pas réellement connaissance ou expérience du codage . Instructions 1
  mettre tous les classeurs que vous souhaitez fusionner dans un dossier sur votre ordinateur . 2
  Ouvrez un nouveau classeur dans Excel. Hôtels 3
  Appuyez sur Alt + F11. Cela va ouvrir l'éditeur Visual Basic . 4
  Sélectionnez "Module " dans le menu "Insertion" . 5
  Copiez et collez le code VB suivant dans la fenêtre de texte : Photos   MergeAllWorkbooks sub () 
  myPath Dim As String , FilesInPath comme corde 
  MyFiles dim ( ) As String 
  SourceRcount As long, fNum Comme long 
  mybook As Workbook , BaseWks comme feuille de 
  sourceRange As Range, destrange Comme Range 
  rnum As long, cALCMODE As Long 
  MyPath = " PATHHERE " 
  droite ( MyPath , 1) <> "\\" Alors 
  MyPath = MyPath & "\\" 
  End If < p> FilesInPath = Dir ( MyPath & " * . xl *")
 
  Si FilesInPath = "" Then 
  MsgBox " Aucun résultat " 
  Exit Sub 
  End If 
  fNum = 0 
  faire pendant FilesInPath <> "" 
  fNum = fNum + 1 
  ReDim Preserve MyFiles ( 1 Pour fNum ) 
  MyFiles ( fNum ) = FilesInPath 
  FilesInPath = Dir ( ) 
  boucle 
  Demande 
  cALCMODE = . Calcul 
  . calcul = xlCalculationManual 
  . ScreenUpdating = False 
  . EnableEvents = False 
  End With 
  Set BaseWks = classeurs . Ajouter ( xlWBATWorksheet ) . Feuilles (1) Photos   rnum = 1 
  Si fNum > 0 Then 
  fNum = LBound ( MyFiles ) à LimiteSup ( MyFiles ) 
  Set mybook = Nothing 
  On Error Resume Next 
  Set mybook = Workbooks.Open ( MyPath & MyFiles ( fNum ) ) 
  On Error GoTo 0 
  If Not mybook n'est rien Puis 
  On Error Resume Next 
  mybook.Worksheets (1)   Set sourceRange = Range ("A1 : . C1 »)
 
  End With 
  Si Err.Number > 0 Then 
  Err.Clear 
  Set sourceRange = Nothing Else 
  Photos   Si sourceRange.Columns.Count > = BaseWks.Columns.Count Puis 
  Set sourceRange = Nothing 
  End If End If 
  
  On Error GoTo 0 
  If Not sourceRange n'est rien Puis 
  SourceRcount = sourceRange.Rows.Count 
  Si rnum + SourceRcount > = BaseWks.Rows.Count puis 
  MsgBox " Il n'y a pas assez de lignes dans la feuille cible. " 
  BaseWks.Columns.AutoFit 
  mybook.Close savechanges : = False 
  GoTo ExitTheSub 
  Else 
  sourceRange 
  BaseWks.Cells ( rnum , "A") . _ 
  Resize ( . Rows.Count ) . Value = MyFiles ( fNum ) 
  End With 
  Set destrange = BaseWks.Range ("B" & rnum ) < br >   sourceRange 
  Set destrange = destrange . _ 
  Resize ( . Rows.Count . Columns.Count ) 
  End With 
  destrange.Value = sourceRange.Value 
  rnum = rnum + SourceRcount 
  End If End If 
  
  mybook.Close savechanges : = False End If 
  
  Suivant fNum < p> BaseWks.Columns.AutoFit
 
  End If 
  ExitTheSub : . 
  Demande 
  ScreenUpdating = True 
  EnableEvents = . vrai 
  . Calcul = cALCMODE 
  End With End Sub 
  6
  Remplacer " PATHHERE " sur la ligne 8 avec le chemin d'accès au dossier avec tous les fichiers de classeur . Utilisez le formulaire . " C: \\ Mes Documents \\ Folder1 \\ Dossier2 ... " 7
  Appuyez sur Alt + Q pour créer le classeur sommaire 
 
 |