XL 2016 Extraire des doublons sur 5 colonnes

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 !

Cédric12580

XLDnaute Nouveau
Bonjour,

J'ai plusieurs personnes qui interviennent plusieurs jours par semaine dans ma structure et font un nombre d'heures en fonction du jour de présence.
J'aimerais pouvoir extraire tous les intervenants dans une seule colonne afin de réaliser un total par semaine puis par année.
J'ai fouillé sur beaucoup de forums mais je n'ai pas trouvé ce que je cherche.
Au mieux j'arrive à trouver les doublons sur deux colonnes mais pas sur 5, et je ne peux pas modifier le format de mon tableau.
HELP ME
 

Pièces jointes

RE

Si tu affiches les requêtes : Données, Requêtes et connexions, clic droit sur Data, Modifier cela ouvre PowerQuery et tu verras les étapes de la requête à droite

J'ai légèrement simplifié ci-joint

Ta structure de titres ne permet pas un décroisement tout simple
J'ai donc utilisé la la méthode d'alternance de lignes

Regarde les étapes et si tu coinces sur l'une ou l'autre reposte
 

Pièces jointes

Bonsoir Cédric12580, chris, Roblochon,

Une solution VBA très classique dans le fichier joint :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim d As Object, c As Range
Set d = CreateObject("Scripting.Dictionary")
For Each c In [A:I].SpecialCells(xlCellTypeConstants, 2) 'colonnes à adapter éventuellement
    If IsNumeric(CStr(c(1, 2))) Then d(c.Value) = d(c.Value) + c(1, 2)
Next
'---restitution---
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les évènements
If FilterMode Then ShowAllData 'si la feuille est filtrée
With [M4] '1ère cellule de destination, à adapter
    If d.Count Then
        .Resize(d.Count) = Application.Transpose(d.keys) 'Transpose est limitée à 65536 lignes
        .Offset(, 1).Resize(d.Count) = Application.Transpose(d.items)
        .Resize(d.Count, 2).Sort .Cells(1), xlAscending, Header:=xlNo 'tri alphabétique
    End If
    .Offset(d.Count).Resize(Rows.Count - d.Count - .Row + 1, 2).ClearContents 'RAZ en dessous
End With
Application.EnableEvents = True 'réactive les évènements
End Sub
La macro est dans le code de la feuille et se déclenche quand on modifie une cellule quelconque.

A+
 

Pièces jointes

Re bonjour,

ce code pour trier fonctionne très bien.
Un autre problème se pose.
J'ai créé des userform pour remplir mon tableau, elles fonctionnent très bien mais par contre le code de tri ne fonctionne plus. mes cellules se remplissent en fonction des choix de la userform mais le tri ne se fait plus!!

Merci pour vos réponses
 
- 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
0
Affichages
128
Réponses
8
Affichages
582
Réponses
17
Affichages
803
Retour