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 !

Re : Rang sans doublons

Bonsoir,

avec ce que j'ai compris......:

Code:
Sub doub()
Dim liste As New Collection
liste.Add [A1].Value, CStr([A1].Value)
Range("b1") = "ici"
For Each cellule In Range([A2], [A65536].End(xlUp))
    On Error Resume Next
    liste.Add cellule.Value, CStr(cellule.Value)
    If Err.Number = 0 Then
        cellule.Offset(0, 1).Value = "ici"
    Else: cellule.Offset(0, 1).Value = ""
    End If
    On Error GoTo 0
Next
End Sub
En supposant que la liste de chiffres se trouve en colonne A, "ici" est écrit à coté du chiffre trouvé la première fois.
 
Re : Rang sans doublons

Merci pour la macro, mais mes données sont sur plusieurs colonnes, jusqu'à 10
Le principe est bon mais je n'ais pas le rang que j'ai mis à côté des ici dans l'exemple ci dessous.
1 ici 1
1
2 ici 2
3 ici 3
4 ici 4
4
10 ici 6
11 ici 7
6 ici 5
15 ici 9
14 ici 8
 
Re : Rang sans doublons

Bonjour,

Formule:

=SOMME(--(A2<SI(EQUIV(Notes;Notes;0)=LIGNE(INDIRECT("1:"&LIGNES(Notes)));Notes;0)))+1
Valider avec Maj+Ctrl+Entrée

En VBA:

Code:
Function RangSansDoublons(n, champ)
  Application.Volatile
  Set mondico = CreateObject("Scripting.Dictionary")
  For Each c In champ
    If Not mondico.Exists(c.Value) Then mondico.Add c.Value, c.Value
  Next c
  t = 0
  For Each c In mondico.items
    If c > n Then
      t = t + 1
    End If
  Next c
  RangSansDoublons = t + 1
End Function

JB
Formation Excel VBA JB
 

Pièces jointes

Dernière édition:
Re : Rang sans doublons

Bonjour,

Code:
Function RangSansDoublons(n, champ, Optional ordre)
  Application.Volatile
  If IsMissing(ordre) Then ordre = 0
  Set mondico = CreateObject("Scripting.Dictionary")
  For Each c In champ
    If Not mondico.Exists(c.Value) Then mondico.Add c.Value, c.Value
  Next c
  t = 0
  For Each c In mondico.items
   Select Case ordre
    Case 0
      If c > n Then t = t + 1
    Case 1
      If c < n Then t = t + 1
   End Select
  Next c
  RangSansDoublons = t + 1
End Function

JB
 
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
2
Affichages
465
Réponses
5
Affichages
207
Réponses
2
Affichages
181
Réponses
7
Affichages
500
Retour