Autres Regroupement de feuilles

chilo27

XLDnaute Occasionnel
Bonjour le forum
Je souhaite regrouper les feuilles 135 136 137 etc dans une autre feuille
appelée regroupement

Sans la prise en compte des autres feuilles
Je précise que j'ai effectué des recherches, on en trouve mais malheureusement pas on le souhaite

En Vba si possible

En vous remerciant par avance
 

Pièces jointes

  • Classeur1.zip
    8.2 KB · Affichages: 23

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
un premier jet copie des valeurs, sans écrasement des données et en partant du principe que la dernière ligne d'une feuille a toujours une valeur en colonne A !
VB:
Sub Regroupement_Données()
    Dim Address_Feuilles As String
    If Sheets("REGROUPEMENT").Range("A6").Value = "" Then
        With Sheets("135")
            If Not .Range("A2").Value = "" Then
                Address_Feuilles = .Range("A2:J" & .Range("A65536").End(xlUp).Row).Address
                Sheets("REGROUPEMENT").Range("A5").Range(Address_Feuilles).Value = .Range("A2:J" & .Range("A65536").End(xlUp).Row).Value
            End If
        End With
    Else
        With Sheets("135")
            If Not .Range("A2").Value = "" Then
                Address_Feuilles = .Range("A2:J" & .Range("A65536").End(xlUp).Row).Address
                Sheets("REGROUPEMENT").Range("A65536").End(xlUp).Range(Address_Feuilles).Value = .Range("A2:J" & .Range("A65536").End(xlUp).Row).Value
            End If
        End With
    End If
    If Sheets("REGROUPEMENT").Range("A6").Value = "" Then
        With Sheets("136")
            If Not .Range("A2").Value = "" Then
                Address_Feuilles = .Range("A2:J" & .Range("A65536").End(xlUp).Row).Address
                Sheets("REGROUPEMENT").Range("A5").Range(Address_Feuilles).Value = .Range("A2:J" & .Range("A65536").End(xlUp).Row).Value
            End If
        End With
    Else
        With Sheets("136")
            If Not .Range("A2").Value = "" Then
                Address_Feuilles = .Range("A2:J" & .Range("A65536").End(xlUp).Row).Address
                Sheets("REGROUPEMENT").Range("A65536").End(xlUp).Range(Address_Feuilles).Value = .Range("A2:J" & .Range("A65536").End(xlUp).Row).Value
            End If
        End With
    End If
    If Sheets("REGROUPEMENT").Range("A6").Value = "" Then
        With Sheets("137")
            If Not .Range("A2").Value = "" Then
                Address_Feuilles = .Range("A2:J" & .Range("A65536").End(xlUp).Row).Address
                Sheets("REGROUPEMENT").Range("A5").Range(Address_Feuilles).Value = .Range("A2:J" & .Range("A65536").End(xlUp).Row).Value
            End If
        End With
    Else
        With Sheets("137")
            If Not .Range("A2").Value = "" Then
                Address_Feuilles = .Range("A2:J" & .Range("A65536").End(xlUp).Row).Address
                Sheets("REGROUPEMENT").Range("A65536").End(xlUp).Range(Address_Feuilles).Value = .Range("A2:J" & .Range("A65536").End(xlUp).Row).Value
            End If
        End With
    End If
    
End Sub
 

Pièces jointes

  • Classeur1.xlsm
    21.9 KB · Affichages: 3
Dernière édition:

chilo27

XLDnaute Occasionnel
Rebonjour le Forum, Yeahou

Cela Fonctionne après une personnalisation
Cela Comme j'aurai plusieurs de l'ordre d'une trentaine de feuilles
n'est il pas possible de regrouper les feuilles sans avoir à les énumérer et à condition qu'elles soient différentes, de création, information résumé se sont là des feuilles qui ne vont pas bouger
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
voili !
VB:
Sub Regroupement_Données()
    Dim Address_Feuilles As String, Compteur As Integer
    For Compteur = 135 To 137
        With Sheets(CStr(Compteur))
            If Sheets("REGROUPEMENT").Range("A6").Value = "" Then
                If Not .Range("A2").Value = "" Then
                    Address_Feuilles = .Range("A2:J" & .Range("A65536").End(xlUp).Row).Address
                    Sheets("REGROUPEMENT").Range("A5").Range(Address_Feuilles).Value = .Range("A2:J" & .Range("A65536").End(xlUp).Row).Value
                End If
            Else
                If Not .Range("A2").Value = "" Then
                    Address_Feuilles = .Range("A2:J" & .Range("A65536").End(xlUp).Row).Address
                    Sheets("REGROUPEMENT").Range("A65536").End(xlUp).Range(Address_Feuilles).Value = .Range("A2:J" & .Range("A65536").End(xlUp).Row).Value
                End If
            End If
        End With
    Next Compteur
End Sub
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
si tes noms de feuille sont formatés sur un nombre de caractères type 001
remplaces le code:
VB:
With Sheets(Right("00" & Compteur, 3))
et si tu identifies avec une chaine texte du type "Données001"
Code:
With Sheets("Données" & Right("00" & Compteur, 3))
 

chilo27

XLDnaute Occasionnel
ME voila de retour


Sub Regroupement_Données01()

Dim Address_Feuilles As String, Compteur As Long
For Compteur = 135 To 141 ---- j'ai ajouté des feuilles qui ne sont pas prises en compte


With Sheets(CStr(Compteur))-------------J'Obtiens le message n'appartient à la sélection
If Sheets("REGROUPEMENT").Range("A6").Value = "" Then
If Not .Range("A2").Value = "" Then
Address_Feuilles = .Range("A2:J" & .Range("A65536").End(xlUp).Row).Address
Sheets("REGROUPEMENT").Range("A5").Range(Address_Feuilles).Value = .Range("A2:J" & .Range("A65536").End(xlUp).Row).Value
End If
Else
If Not .Range("A2").Value = "" Then
Address_Feuilles = .Range("A2:J" & .Range("A65536").End(xlUp).Row).Address
Sheets("REGROUPEMENT").Range("A65536").End(xlUp).Range(Address_Feuilles).Value = .Range("A2:J" & .Range("A65536").End(xlUp).Row).Value
End If
End If
End With
Next Compteur
End Sub

autrement cela fonctionne avec les feuilles 135 à 137

Merci pour l'aide
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
ME voila de retour


Sub Regroupement_Données01()

Dim Address_Feuilles As String, Compteur As Long
For Compteur = 135 To 141 ---- j'ai ajouté des feuilles qui ne sont pas prises en compte


With Sheets(CStr(Compteur))-------------J'Obtiens le message n'appartient à la sélection
If Sheets("REGROUPEMENT").Range("A6").Value = "" Then
If Not .Range("A2").Value = "" Then
Address_Feuilles = .Range("A2:J" & .Range("A65536").End(xlUp).Row).Address
Sheets("REGROUPEMENT").Range("A5").Range(Address_Feuilles).Value = .Range("A2:J" & .Range("A65536").End(xlUp).Row).Value
End If
Else
If Not .Range("A2").Value = "" Then
Address_Feuilles = .Range("A2:J" & .Range("A65536").End(xlUp).Row).Address
Sheets("REGROUPEMENT").Range("A65536").End(xlUp).Range(Address_Feuilles).Value = .Range("A2:J" & .Range("A65536").End(xlUp).Row).Value
End If
End If
End With
Next Compteur
End Sub

autrement cela fonctionne avec les feuilles 135 à 137

Merci pour l'aide
cela veut dire que tes noms de feuilles ajoutées ne correspondent pas à 138, 139, 140, 141, que tu as laissé un espace dans le nom ou qu'il en manque 1
 

Discussions similaires

Réponses
9
Affichages
291
  • Question
XL pour MAC mise en forme
Réponses
2
Affichages
92

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa