Aide pour un macro

bataggone

XLDnaute Occasionnel
bonjour tout le monde


je cherche un macro qui me permet de regrouper le contenu de plusieurs feuil dans une seul feuil.

bataggone

merci
 

Pièces jointes

  • Feuille de calcul Microsoft Excel.xlsx
    18.4 KB · Affichages: 262

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Aide pour un macro

Re,

ton fichier en retour
.... mais ne demandes pas de regrouper les colonnes F ---> K si les cellules sont fusionnées :mad::mad::mad:

à+
Philippe
 

Pièces jointes

  • 111.xlsm
    32.8 KB · Affichages: 300
  • 111.xlsm
    32.8 KB · Affichages: 286
  • 111.xlsm
    32.8 KB · Affichages: 284

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Aide pour un macro

Re,
J'ai pas que quatre (4) feuil j'ai plus de 100 feuil..
il te faudra modifier
Code:
For i = 2 To 5
comme ceci:
Code:
For i = 2 To nombre_de_feuilles
la Feuille "GLOBALE" devant être la première.

si ce n'est pas le cas, remplace le code par celui-ci:
Code:
Sub Macro1()
Sheets("GLOBALE").Select
Application.ScreenUpdating = False
    Range("B6:E" & Range("B65535").End(xlUp).Row + 1).ClearContents

For i = 1 To 150    ' le_nombre_exact_de_feuilles
If Sheets(i).Name <>"GLOBALE" Then
    Sheets(i).Select
    Range("B8:B" & Range("B65535").End(xlUp).Row).Select
    Selection.Copy
    Sheets("GLOBALE").Select
    Range("B" & Range("B65535").End(xlUp).Row + 1).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets(i).Select
    Range("E8:E" & Range("B65535").End(xlUp).Row).Select
    Selection.Copy
    Sheets("GLOBALE").Select
    Range("E" & Range("E65535").End(xlUp).Row + 1).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
Next i
End If
[C2].Select
Application.ScreenUpdating = True
End Sub
à+
Philippe
 
Dernière édition:

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Aide pour un macro

Re,

une petite inversion dans les dernières lignes et ça marche .........je l'espère
Code:
Sub Macro1()
Sheets("GLOBALE").Select
Application.ScreenUpdating = False
    Range("B6:E" & Range("B65535").End(xlUp).Row + 1).ClearContents

For i = 1 To 150    ' le_nombre_exact_de_feuilles
If Sheets(i).Name <> "GLOBALE" Then
    Sheets(i).Select
    Range("B8:B" & Range("B65535").End(xlUp).Row).Select
    Selection.Copy
    Sheets("GLOBALE").Select
    Range("B" & Range("B65535").End(xlUp).Row + 1).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets(i).Select
    Range("E8:E" & Range("B65535").End(xlUp).Row).Select
    Selection.Copy
    Sheets("GLOBALE").Select
    Range("E" & Range("E65535").End(xlUp).Row + 1).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End If
Next i
[C2].Select
Application.ScreenUpdating = True
End Sub
à+
Philippe
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Aide pour un macro

Re,

cette erreur est provoquée par le fait que le nombre exact de feuilles n'est pas correct dans la première ligne ci-dessous
Code:
For i = 1 To 150    ' le_nombre_exact_de_feuilles
If Sheets(i).Name <> "GLOBALE" Then
et la ligne If Sheets(................ est surlignée en jaune

pour y remédier, il faut remplacer 150 par le nombre de feuilles que contient le classeur

ou plus simplement remplacer
For i = 1 To 150

par
For i = 1 To Sheets.Count
ce qui aura pour effet de ne plus devoir se soucier du nombre de feuilles


à+
Philippe
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote