Extraire et compter les occurrences uniques dans une colonne

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

bopwin

XLDnaute Nouveau
Bonjour à tous,

Après avoir bataillé plusieurs heures avec excel, je fais appel a vos connaissances. Voici la description du problème par un exemple repris du site microsoft.support: Formulas to count the occurrences of text, characters, or words in Excel for Mac

A1: Fruit
A2: apple,apple
A3: orange
A4: apple,orange
A5: grape
A6: orange,grape
A7: grape, apple

A partir de cette colonne comprenant des cellules composées de mots séparés par des virgules, je souhaiterais générer automatiquement un tableau m'indiquant pour chaque mot le nombre d'occurence. La macro que l'on peut trouver a l'adresse: How to use Visual Basic for Applications to count the occurrences of a character in a selection in Excel oblige a rentrer individuellement chaque mot pour lequel on souhaiterait obtenir le nombre d'occurrences, serait-il possible d'automatiser tout ca?

Je vous remercie par avance pour votre aide précieuse, en vous souhaitant un bon été
 
Re : Extraire et compter les occurrences uniques dans une colonne

Salut Bopwin


j'ai pas bien compris mais :

pour séparer tes données tu peux utiliser Données/Convertir

chaque mot séparé par une virgule sera placé dans une colonne.


c'est une premiere approche de ton problème.




zop : je viens de relire ton post et j'ai jeté un coup d'oeil sur la proc MS
j'ai compris le prob et j'étais avec ma réponse à coté de la plaque.
 
Dernière édition:
Re : Extraire et compter les occurrences uniques dans une colonne

re

j'ai modiféié la procédure de MS

ça marche si tes données sont séparées avec Données/convertir.

Code:
Option Explicit


Dim Count As Integer
Dim Target As String
Dim Cell As Object
Dim cel As Object

Dim N As Integer

Sub Target_Count()
   Count = 0
  For Each cel In Selection
   Target = cel.Value
      For Each Cell In Selection
         
         N = InStr(1, Cell.Value, Target)
         While N <> 0
            Count = Count + 1
            N = InStr(N + 1, Cell.Value, Target)
         Wend
        
      Next Cell
       MsgBox Count & " Occurrences of " & Target
       Count = 0
   Next cel
Done:
End Sub
 
- 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
Retour