Identier les occurences et leur nombre

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

D

djibouti

Guest
Bonjour à tous,

Je cheche un petit bout de code me permettant de trouver les occurences dans une liste ainsi que de les compter.
Voir un exemple simple dans le fichier joint (il devra être aussi possible de traiter un exemple avec plus de 10000 lignes...)

Dans le cas ou il n'a pas pas de d'occurence, afficher un message disant : "pas de doublon trouvé" par exemple.

Merci par avance de votre aide.

/Djibouti
 
Re : Identier les occurences et leur nombre

Bonjour,
Pourquoi ne veux-tu pas également renvoyer tutu 1 et tyty 1?
La fonction NB.SI fait-elle l'affaire? (si tu veux renvoyer le nombre d'occurrences pour certaines valeurs définies par avance)
Ou bien un tableau croisé dynamique avec la fonction "compter"? (si tu veux la liste de toutes les entrées).

A te relire

Cordialement

EDIT : Oups, je voulais dire NB.SI, c'est corrigé.....bonjour Raja et merci du rectificatif
 
Dernière modification par un modérateur:
Re : Identier les occurences et leur nombre

Bonsoir,

Essaye une formule comme la suivante pour trouver le nombre d'occurences de "toto", A étant la colonne qui contient tes données.

Code:
=NB.SI(A:A;"toto")

édit : salut Pierre-Henry
 
Re : Identier les occurences et leur nombre

Merci pour ces prémières réponses.
Je vais être un peu compliqué, désolé par avance.
Je ne voudrai pas spécifier les noms comme "toto" dans ton exemple mais que le code puisse es trouver, les noter et indiquer le nombre de répétitions "automatiquement".
Serait possible d'avoir un petit code pour ça plutôt qu'une formule.

Merci.

/Djibouti
 
Re : Identier les occurences et leur nombre

Bonsoir Djibouti, Pierre-Henry, Raja

Le code ci-dessous, renvoie dans la colonne B les différentes valeurs présentes dans la colonne A. En colonne C le nombre de fois :

Code:
Option Explicit
Sub test()
Dim d As Object, i As Integer, x As Integer, j As Integer
Set d = CreateObject("Scripting.Dictionary")
For i = 1 To Range("A65536").End(xlUp).Row
    If Not d.exists(Range("A" & i).Value) Then
        d.Add Range("A" & i).Value, Range("A" & i).Value
        Range("B65536").End(xlUp).Offset(1, 0).Value = Range("A" & i).Value
        x = x + 1
        For j = i + 1 To Range("A65536").End(xlUp).Row
            If Range("A" & i).Value = Range("A" & j).Value Then x = x + 1
        Next j
        Range("B65536").End(xlUp).Offset(0, 1).Value = x
        x = 0
    End If
Next i
End Sub

bonne soirée
@+
 
Re : Identier les occurences et leur nombre

Bonsoir,

Objet dictionary

Code:
  Set mondico = CreateObject("Scripting.Dictionary")
  For Each c In Range("A1", [A65000].End(xlUp))
     mondico(c.Value) = IIf(mondico.exists(c.Value), mondico(c.Value) + 1, 1)
  Next c
  [c2].Resize(mondico.Count, 1) = Application.Transpose(mondico.keys)
  [d2].Resize(mondico.Count, 1) = Application.Transpose(mondico.items)

JB
Formation Excel VBA JB
 
Re : Identier les occurences et leur nombre

Merci pour vos réponses.

J'ai testé le code de Pierrot, et cela correspond exactement à ce que je voulais. Le petit plus serait de pouvoir mettre les résultats dans une autre feuille avec comme en-tête de chaque colonne : occurence et nombre, cela est-t-il possible ?

Merci.

/Djibouti
 
Re : Identier les occurences et leur nombre

Petite requête supplémentaire, peut-on aussi supprimer l'affichage des noms qui n'apparaissent qu'une fois, c'est-à-dire dont le nombre est égale à 1 ?

Merci.Merci.

Pour être plus concrèt, voici un fichier d'exemple. Je voudrais faire apparaitre le résultat dans l'onglet "main" (à la moitié de la page) la liste et nombre des doublons de la colonne B de la feuille 1 et ceux de la colonne B de la feuille 2

Merci.Merci.Merci

/Djibouti
 

Pièces jointes

Re : Identier les occurences et leur nombre

Bonjour Djibouti

un peu de patience.... Tu aurais peut être du donner ces précisions avant...
Je ne vois aucun code dans ton fichier... Pour agir sur une feuille donnée, tu la nommes, comme dans l'exemple ci dessous :

Code:
[COLOR="Red"][B]Sheets("Main").[/B][/COLOR]Range("B65536").End(xlUp).Offset(0, 1).Value = x

Pour les colonnes, il te suffit de changer les lettres, et le tour est joué.

bonne journée
@+
 
Re : Identier les occurences et leur nombre

Re

pour éviter les noms n'apparaissant qu'une seule fois, tu peux modifier le code comme suit :

Code:
Option Explicit
Sub test()
Dim d As Object, i As Integer, x As Integer, j As Integer
Set d = CreateObject("Scripting.Dictionary")
For i = 1 To Range("A65536").End(xlUp).Row
    If Not d.exists(Range("A" & i).Value) Then
        d.Add Range("A" & i).Value, Range("A" & i).Value
        x = x + 1
        For j = i + 1 To Range("A65536").End(xlUp).Row
            If Range("A" & i).Value = Range("A" & j).Value Then x = x + 1
        Next j
        If x > 1 Then
            With Range("B65536").End(xlUp)
                .Offset(1, 0).Value = Range("A" & i).Value
                .Offset(1, 1).Value = x
            End With
        End If
        x = 0
    End If
Next i
End Sub

@+
 
Re : Identier les occurences et leur nombre

bonjour djibouti Pierrot BOISGONTIER le forum
une autre macro
pas le temps de simplifier..vu que tu utilise seulement 2 feuilles pas trop genant. adapte la boucle pour envoyer directement dans la feuille main attention dans chaque feuille j exploite les colonnes k & L si donnes dans ces colonnes modifie la macro

edit bonjour raja & pierre henry
 

Pièces jointes

Dernière édition:
- 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

Réponses
2
Affichages
187
Réponses
5
Affichages
907
Retour