Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Alleger Code d'un Récap

  • Initiateur de la discussion Initiateur de la discussion Enzo_Vautor
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

E

Enzo_Vautor

Guest
Bjr, Désolé je rame depuis le début des vacances pour finaliser un fichier excel pour le taf histoire de me faciliter a vie, c'est plus devenu une rixe entre moi et excel pour réussir a le dompter qu'un outils xD

Enfin BREF,
voila j'aimerais savoir si en final de compte vous pourriez m'aider pour alleger les codes de mon gros bébé

Ci joint le GROS Bébé

Cordialement,
Enzo Vautor
 

Pièces jointes

Re : Alleger Code d'un Récap

Bonjour,

Voici un exemple de code qui prend toutes les données de toutes les feuilles du classeur
peu importe où leur localisation dans chacune des feuilles et les reporte dans la feuille
nommée "recap".

J'ai supposé que sur chaque feuille, la première ligne (les étiquettes de colonnes) était la même.


VB:
Sub test()
Dim Sh As Worksheet, Rg As Range, Rg1 As Range
Dim DerLig As Long, DerCol As Integer
Dim PremLig  As Long, PremCol As Integer, X As Long

Application.ScreenUpdating = False
'Efface le contenu de la feuille recap
Worksheets("Recap").Cells.Clear

For Each Sh In ThisWorkbook.Worksheets
    If UCase(Sh.Name) <> "recap" Then
        With Sh
            If Not IsEmpty(.UsedRange) Then
                Depart = .Cells(.Rows.Count, .Columns.Count).Address
                'Trouve la première ligne occupée
                PremLig = .Cells.Find(What:="*", _
                                After:=.Range(Depart), _
                                LookIn:=xlValues, _
                                SearchOrder:=xlByRows, _
                                SearchDirection:=xlNext).Row
                'Trouve la dernière occupée dans la feuille
                DerLig = .Cells.Find(What:="*", _
                                LookIn:=xlValues, _
                                SearchOrder:=xlByRows, _
                                SearchDirection:=xlPrevious).Row
                'Trouve la dernière colonne de la feuille
                DerCol = .Cells.Find(What:="*", _
                                LookIn:=xlValues, _
                                SearchOrder:=xlByColumns, _
                                SearchDirection:=xlPrevious).Column

                'Trouve la première colonne de la feuille
                PremCol = .Cells.Find(What:="*", _
                                After:=.Range(Depart), _
                                LookIn:=xlValues, _
                                SearchOrder:=xlByColumns, _
                                SearchDirection:=xlNext).Column
                
                'Rg est une variable de type "Range" qui représente
                'la plage à copier dans la feuille recap.
                Set Rg = .Range(.Cells(PremLig, PremCol), .Cells(DerLig, DerCol))
            End If
        End With
        With Worksheets("recap")
            X = .Cells(.Rows.Count, 1).End(xlUp).Row
            If X <> 1 Then
                 X = X + 1
                 Set Rg = Rg.Offset(1).Resize(Rg.Rows.Count - 1)
            End If
            Rg.Copy .Range("A" & X)
        End With
    End If
Next
Application.ScreenUpdating = True
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

A
Réponses
11
Affichages
2 K
A
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…