Exclure des noms....

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

Clochard

XLDnaute Impliqué
Bonjour le Forum,

Je comptabilise le nombre de fois que des noms apparaissent dans une colonne

J'aimerais savoir de votre part s'il est possible d'exclure certains noms en ajoutant quelque chose à ma formule..

Je joins un fichier pour une meilleure compréhension

Merci beaucoup d'y regarder et bonne journée

Clochard
 

Pièces jointes

Dernière édition:
Re : Exclure des noms....

Bonsour®

2 façon possibles :
- TCD avec filtre
- formule avec colonne complémentaire

Capture.JPG
 

Pièces jointes

Re : Exclure des noms....

Bonjour R@chid ainsi qu'au Forum.

Elle est Super ta formule.. le seul hic... c'est que dans la colonne D de mon fichier... il y a environ 245 noms et la liste s'allonge continuellement... peut-être jusqu'à 500 noms

Je constate qu'il ne faut pas déborder du nombre de noms dans la colonne D... d'après toi.... peut-on y remédier???

Merci beaucoup

Clochard
 
Re : Exclure des noms....

Bonjour le Forum, Cisco, Modeste Geedee et R@chid


Merci Cisco,

Mais dans les deux cas s'il n'y a rien d'inscrit dans la colonne de exclus la formule ne fonctionne pas...

À moins que ce soit moi qui se goure au max....

Merci encore d'y regarder (j'ai modifié le fichier joint afin d'approcher le plus possible de l'original)

Clochard
 

Pièces jointes

Re : Exclure des noms....

Bonjour Clochard, Modeste geedee, R@chid, CISCO,

Une solution VBA, bien utile s'il y a beaucoup de noms :

Code:
Sub Liste()
Dim source As Range, exclu As Range, dest As Range, t1, t2
Dim d1 As Object, d2 As Object, t, rest(), a, b, i&
'---initialisation---
Set source = [D6]: Set exclu = [J6]: Set dest = [G6] 'à adapter
t1 = Range(exclu, Cells(Rows.Count, exclu.Column).End(xlUp)(exclu.Row + 1))
t2 = Range(source, Cells(Rows.Count, source.Column).End(xlUp)(source.Row + 1))
Set d1 = CreateObject("Scripting.Dictionary")
Set d2 = CreateObject("Scripting.Dictionary")
'---liste des exclus sans doublons (comprend le texte vide)---
For Each t In t1
  d1(t) = ""
Next
'---liste sans exclus et sans doublons---
For Each t In t2
  If Not d1.exists(t) Then d2(t) = d2(t) + 1
Next
If d2.Count Then
  '---transposition---
  ReDim rest(d2.Count - 1, 1) 'base 0
  a = d2.items: b = d2.keys
  For i = 0 To UBound(a)
    rest(i, 0) = a(i): rest(i, 1) = b(i)
  Next
  '---restitution et tri---
  dest.Resize(i, 2) = rest
  dest.Resize(i, 2).Sort dest(, 2), xlAscending, Header:=xlNo
End If
dest.Offset(i).Resize(Rows.Count - dest.Row - i + 1, 2).ClearContents
End Sub
Fichier joint.

A+
 

Pièces jointes

Dernière édition:
Re : Exclure des noms....

Re,

Rappel : la solution précédente respecte la casse.

Si on veut l'ignorer initialiser avec :

Code:
Set d1 = CreateObject("Scripting.Dictionary"): d1.CompareMode = vbTextCompare
Set d2 = CreateObject("Scripting.Dictionary"): d2.CompareMode = vbTextCompare
A+
 
Re : Exclure des noms....

Bonjour Job75,

Merci pour ton aide...

J'ai tenté de modifier en fonction des colonnes de mon fichier mais il y a une erreur et malheureusement je n'ai pas la connaissances nécessaires pour la corriger...


Clochard
 

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

Discussions similaires

Réponses
5
Affichages
364
Réponses
4
Affichages
278
Retour