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 !

VB:
Function Compte_Unique(P1 As Range, Optional P2 As Range)
Dim d As Object, c As Range
If P2 Is Nothing Then Set P2 = P1
Set d = CreateObject("Scripting.Dictionary")
For Each c In Union(P1, P2)
    If CStr(c) <> "" Then If Not d.exists(CStr(c)) Then Compte_Unique = Compte_Unique + 1
Next
End Function
 
Bonsoir à tous,

Une autre solution par formules pour deux plages rectangulaires quelconques (multi-lignes et/ou multi-colonnes) à l'aide de deux colonnes auxiliaires qui sont remplies par formules.

  • Le premier tableau ou plage est nommé t_1 (via le menu formules/Définir un nom)
  • Le second tableau ou plage est nommé t_2 (via le menu formules/Définir un nom)

On va déplier chacun des deux tableaux en une seule colonne :

  • Une première formule en J1 à recopier jusqu'à la ligne 1000
  • Une seconde formule en K1 à recopier jusqu'à la ligne 1000

On calcul le nombre de valeurs uniques par une troisième formule en L2.


nota 1 : La ligne de recopie (ici 1000) doit être supérieure au nombre d'éléments du tableau. Pour l'exemple, 1000 est bien trop grand. La ligne 100 aurait suffit puisque le plus grand des deux tableaux (qui est t_2) n'a que 68 éléments (enfin pour la valeur 1000, ça ne mange pas de pain - comme on dit 😜)
 

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
2
Affichages
414
Réponses
5
Affichages
78
Réponses
6
Affichages
107
Réponses
6
Affichages
61
Réponses
6
Affichages
414
Retour