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

[Résolu]Regroupement données

  • Initiateur de la discussion Initiateur de la discussion richert90
  • 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 !

richert90

XLDnaute Occasionnel
Bonjour

Sur le fichier ci joint, j'aimerais à partir de la feuille 'carac' pouvoir regrouper les données c'est à dire avoir les indices pour chaque groupe .
En clair je voudrais avoir 2- 3 ( pour le groupe avec report Key =68 )
4-6 (pour le groupe Key 69)
7-9 ( pour le groupe key 70)
...
...
22-22 pour le groupe key 130 composé d'une ligne

Ces indices me serviront pour générer des graphiques

Merci d'avance
 

Pièces jointes

Dernière édition:
Re : Regroupement données

Bonjour richert90, le forum,
personnellement j'écrirais une liste (soit dans cette page soit dans une autre) avec dans la 1ere colonne le report Key et dans la 2ème le numéro que tu veux rk=68 et 2-3) et je ferais un recherchev ensuite ...
 
Re : Regroupement données

Bonjour à tous,

Un essai avec ceci :

VB:
Option Explicit

Sub Report_Key()
Dim Sh As Worksheet
Dim Cel As Range
Dim DerLig As Long
With Application
    .DisplayAlerts = False
    .ScreenUpdating = False
End With
For Each Sh In Sheets
    If Sh.Name <> "Carac" And Sh.Name <> "Modele" Then
        Sh.Delete
    End If
Next Sh
With Sheets("Carac")
    DerLig = .[A65000].End(xlUp).Row
    .Range("A1:J" & DerLig).Name = "Base"
    .[Z1] = .[A1]
    .Range("A1:A" & DerLig).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range("Z1"), Unique:=True
    For Each Cel In .Range("Z2:Z" & .[Z65000].End(xlUp).Row)
        If Cel.Value <> "" Then
            .[Z2] = Cel.Value
            Sheets("Modele").Copy After:=Sheets(Sheets.Count)
            ActiveSheet.Name = Cel.Value
            .Range("Base").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=.Range("Z1:Z2"), _
                CopyToRange:=Range("A1:J1"), Unique:=False
            ActiveSheet.Cells.EntireColumn.AutoFit
        End If
    Next Cel
    .Columns(26).Clear
    .Select
End With
Sheets("Carac").[A1].Select
With Application
    .DisplayAlerts = True
    .ScreenUpdating = True
End With
End Sub

A+ à tous

Edition : Oups... Visiblement je n'ai rien compris...
 

Pièces jointes

Dernière édition:
Re : Regroupement données

Bonjour,
Merci de vos réponses, mais en fait ce que je veux, c'est "juste" une boucle pour avoir les indices de chaque plage de données comme dans ce que j'avais commencé dans le module 1, sans copier chaque ligne dans l'onglet correspondant, c'est juste les "intervalles" des plages de données que je veux avoir pour ensuite utiliser et adapter des macros de graphiques que je placerai dans l'onglet correspondant au Report Key.
Merci d'avance
 
Re : Regroupement données

Bonjour à tous,

Si ton code fonctionne, dis nous simplement où le placer.
Je ne vois toujours pas le rapport avec la construction des graphiques.

Juste un conseil... Mais je peux grandement me tromper...
Take a break in the rush (Fais une pause)

A+ à tous
 
Re : Regroupement données

Ben il fonctionne pas complètement , pour les lignes ou il y a un seul Report Key ( comme l'avant dernière et la dernière) , les indices ne sont pas bons. pour les graphiques, je verrai après, je vous ai dit ça pour dire à quoi vont me servir ce que je fais la ( la définition des plages de données).
Sinon je vais utiliser le code que tu m'as donné, d'ailleurs est-ce que le code peut être adapté pour qu'on n'est pas besoin de créer la feuille "Modèle" ?
 
Re : Regroupement données

Bonjour à tous,

Une feuille de plus...
Imagine que tu doives faire des Copier / Coller, après Filtrage, de toutes les valeurs en A et renommer les feuilles ajoutées...

De deux maux, je choisis le moindre.

Très bon exercice : modifie le code en ne te servant pas de la feuille "Modele" (un indice : Array).

A+ à tous
 
Re : Regroupement données

j'aurais quelque chose comme cela:

Code:
Option Explicit
Dim DocDép, k, NomClasse, Onglet

Sub UneClasseParOnglet()
 Call Macro_tri
 
Application.ScreenUpdating = False
Set DocDép = ActiveSheet
'
    
   ' Initialisation : On supprime les onglets de classe éventuellement existant
    For Each Onglet In Worksheets
    Application.DisplayAlerts = False
    If Onglet.Name <> "carac" Then
        Sheets(Onglet.Name).Activate
        ActiveWindow.SelectedSheets.Delete
    End If
    Next Onglet

   
   'Routine qui recrée les onglets
   k = 0
   While Worksheets("carac").Cells(2 + k, 1).Value <> ""
        If Worksheets("carac").Cells(2 + k, 1).Value <> Worksheets("carac").Cells(1 + k, 1).Value Then '
            NomClasse = Sheets("carac").Cells(2 + k, 1).Value
            Sheets.Add After:=Sheets(Sheets.Count) 'On ouvre un nouvel onglet
            ActiveSheet.Name = NomClasse 'on renomme l'onglet
            Application.StatusBar = NomClasse
            Sheets("carac").Rows(1).Copy Cells(1, 1)
        End If
        Sheets(NomClasse).Activate
        'Sheets(NomClasse).Cells(Cells(65000, 1).End(xlUp).Row + 1, 1).Select
        Worksheets("carac").Rows(2 + k).Copy Worksheets(NomClasse).Cells(Cells(65000, 1).End(xlUp).Row + 1, 1)
        DocDép.Activate
    
        k = k + 1
   Wend
   Application.StatusBar = ""
   Beep
    
End Sub

Sauf que la ligne sheets(nomClasse).activate ne marche pas, nomClasse étant la clé du rapport
 
Re : Regroupement données

Bonjour mapomme
Ton code marche bien mais j'ai juste essayer de remplacer le nom des onglets générés par le Report Key, mais ceci ne marche pas pour la dernière ligne. Si tu peux regarder ce que ça fait sur le fichier que je t'ai joitn au niveau des noms des onglets
Merci d'avance
 

Pièces jointes

- 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

Discussions similaires

Réponses
6
Affichages
344
Réponses
37
Affichages
3 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…