Comptabiliser le nombre d'apparition d'une occurence dans une colonne.

Entoni

XLDnaute Nouveau
Bonjour à vous membres d'Excel Downloads !

Ayant déjà fait appel à vous je me permet cette fois-ci de vous refaire un petit message pour un usage professionnel cette fois-ci.

Dans le cadre de mon activité j'ai besoin tous les mois d'analyser des fichiers Excel mais n'ayant pas encore eu de formation sur les macros je suis parfois un peu dépourvu...

Cette fois-ci j'aurais besoin d'aide pour comptabiliser le nombre de fois qu'une occurence apparaît dans une colonne.

Exemple, j'ai une colonne dans laquelle j'ai Robert, Patrick, Albert, Raymond,...ces prénoms apparaissent tous un bon nombre de fois mais je ne sais pas comment faire pour récapituler tout ça dans un petit tableau reprenant toutes les occurrences en ajoutant à côté le nombre de fois qu'elles apparaissent.

En plus de ça à côté de chaque prénom j'ai un temps, il faudrait également qu'une fois que le nombre de fois qu'un prénom apparaît est comptabilisé une moyenne soit faites avec toutes ces durées.

Voilà j'espère que je suis clair et je vous met en pièce jointe le fameux fichier avec une ébauche sur la manière dont ça devrait apparaître une fois la amcro réalisé, merci d'avance !
 

Pièces jointes

  • Occurence-Durée.zip
    22.9 KB · Affichages: 117

Jocelyn

XLDnaute Barbatruc
Re : Comptabiliser le nombre d'apparition d'une occurence dans une colonne.

Bonjour le Forum,
Bonjour Entoni, hoerwind,

Un exemple en fichier avec extraction des difféerntes références par formule sans doublons calcul du nombre et de la moyenne par référence le tout par formule

Jocelyn
 

Pièces jointes

  • Entoni Occurence-Durée.zip
    30.2 KB · Affichages: 158

Robert

XLDnaute Barbatruc
Repose en paix
Re : Comptabiliser le nombre d'apparition d'une occurence dans une colonne.

Bonjour le fil, bonjour le forum,

Une proposition VBA avec la macro ci-dessous :
Code:
Sub Macro1()
Dim cel As Range 'déclare la variable cel (CELlule)
Dim dest As Range 'déclare la variable dest (DESTination)
Dim rH As Range 'déclare la variable rH (Recherche dans la colonne H)
Dim rA As Range 'déclare la variable rA (Recherche dans la colonne A)
Dim pa As String 'déclare la variable pa (Première Adresse)
Dim trA As Long 'déclare la variable trA (Total Recherche colonne A)
Dim nb As Integer 'déclare la variable nb (NomBre d'occurrences)
 
With Sheets("Feuil1") 'prend en compte l'onglet "Feuil1"
    For Each cel In .Range("A2:A" & .Range("A65536").End(xlUp).Row) 'boucle sur toutes les cellules éditée cel de la colonne A
        Set rH = .Range("H7:H" & .Range("H65536").End(xlUp).Row).Find(cel.Value, Range("H7"), xlValues, xlWhole) 'définit la variable rH
        If rH Is Nothing Then 'condition : si il n'existe aucune occurrence de rH dans la colonne H
            trA = 0 'définit la variable trA
            Set dest = .Range("H65536").End(xlUp).Offset(1, 0) 'définit la variable dest
            Set rA = .Columns(1).Find(cel.Value, , xlValues, xlWhole) 'définit la variable rA
            If Not rA Is Nothing Then 'condition 2 : si il existe au moins une occurrence de rA dans la colonne A
                pa = rA.Address 'définit la variable pa
                Do 'éxécute
                    trA = trA + rA.Offset(0, 1) 'redéfinit la variable trA
                    Set rA = Columns(1).FindNext(rA) 'redéfinit la variable rA
                Loop While Not rA Is Nothing And rA.Address <> pa 'boucle tant qu'il existe des occurrences de rA ailleurs qu'en pa
 
                'placement des données
                dest.Value = cel 'place la référance
                nb = Application.WorksheetFunction.CountIf(Columns(1), cel.Value) 'définit la variable nb
                dest.Offset(0, 1).Value = nb 'place le nombre d'occurrences trouvées
                dest.Offset(0, 2).Value = trA / nb 'plce la moyenne
            End If 'fin de la condition 2
        End If 'fin de la condition 1
    Next cel 'prochaine cellule éditée cel de la boucle
End With 'fin de la prise en compte de l'onglet "Feuil1"
End Sub
 

Entoni

XLDnaute Nouveau
Re : Comptabiliser le nombre d'apparition d'une occurence dans une colonne.

Merci Jocelyn, c'est pile poil ce qu'il me fallait !

@Robert: Merci pour ta macro. J'ai essayé de l'intégrer dans un fichier mais sans succès. Je pense que je vais devoir m'appesantir un peu sur les tutos du site.

Merci à vous tous pour votre aidre ! :D
 

Entoni

XLDnaute Nouveau
Re : Comptabiliser le nombre d'apparition d'une occurence dans une colonne.

Après vérification y'a un petit truc qui me pose soucis Jocelyn :(
Tout marche bien sauf que j'arrive pas à agrandir l'intervalle qu'est pris en compte parce que tu as fait...bah oui ce que j'ai envoyé est seulement un petit échantillon, en réalité y'a plus de 51000 références...:D

Comment je peux faire pour agrandir l'intervalle pris en compte ?

Merci !
 

jeanpierre

Nous a quitté
Repose en paix
Re : Comptabiliser le nombre d'apparition d'une occurence dans une colonne.

Bonjour Entoni, Robert, Jocelyn, hoerwind,

Jocelyn étant déconnecté,

Modifier la taille des plages dans les formules en passant de $A$2000 à $A$55000 par exemple, et ce pour chacune soit en A ou en B.

Bonne fin d'après-midi.

Jean-Pierre
 

Entoni

XLDnaute Nouveau
Re : Comptabiliser le nombre d'apparition d'une occurence dans une colonne.

Bonjour tout le monde,

Je reviens sur le sujet pour vous tenir un peu au courant d'où j'en suis avec ce fameux fichier !

Au début j'étais parti sur l'idée d'utiliser le fichier de Jocelyn mais dans la pratique je me suis rendu compte qu'au vu du nombre d'occurence que j'avais dans mon fichier (plus de 50000 je rapelle)...c'était beaucoup trop long pour calculer malheureusement :(

Je suis donc reparti sur le fichier que Hervé a réalisé et dont on parle ici: https://www.excel-downloads.com/threads/compter-le-nb-doccurrence-dans-un-tableau.129878/

Malheureusement il n'intègre pas le calcul de la moyenne comme le faisait le travail de Jocelyn.

Si quelqu'un veut bien m'expliquer comment faire pour faire une "fusion" du fichier de Jocelyn, qui répond à tous mes besoins, avec le fichier d'Hervé qui convient parfaitement au niveau du temps de calcul, ce serait sympa.

Merci d'avance !
 

bcharef

XLDnaute Accro
Re : Comptabiliser le nombre d'apparition d'une occurence dans une colonne.

Bonsoir Entoni, hoerwind, Jocelyn, Robert & Jean-Pierre ,
Bonsoir à toutes et à tous.

Un essai avec un Tableau Croisé Dynamique.

A vous lire et bon courage.

Cordialement.

Bcharef
 

Pièces jointes

  • TCDOccurence-Durée.zip
    36.5 KB · Affichages: 105

Entoni

XLDnaute Nouveau
Re : Comptabiliser le nombre d'apparition d'une occurence dans une colonne.

Bonjour Bcharef,

Après un premier essai de ton fichier ça semble convenir parfaitement à ce que je recherchais.

Je vais l'utiliser un peu plus longuement et j'hésiterais pas à faire un retour.

Merci encore à tous pour votre aide.
 

Discussions similaires

Réponses
9
Affichages
178

Statistiques des forums

Discussions
312 211
Messages
2 086 294
Membres
103 171
dernier inscrit
clemm