comparer 2 plages et compte le nb de numeros en commun

oscar.cesar

XLDnaute Nouveau
bonsoir
un probleme
je souhaite comparer 2 series de nombres et sortir le nb de numeros en communs
sur la meme ligne
de A5:A20 j'ai la serie 1 , en A22:A27 la serie2 et en A30 le nb de numeros en communs
je precise que j'ai plusieurs lignes et que ce calcul se fait pour chaque ligne.

merci
 

Spitnolan08

XLDnaute Barbatruc
Re : comparer 2 plages et compte le nb de numeros en commun

Re,

je souhaite comparer 2 series de nombres et sortir le nb de numeros en communs
sur la meme ligne
de A5:A20 j'ai la serie 1 , en A22:A27 la serie2
Tes séries sont en ligne ou en colonne ?

Tes séries n'ont pas la même longueur ?

Joint un exemple de ta BD, ce sera plus clair je pense.

Cordialement
 

oscar.cesar

XLDnaute Nouveau
Re : comparer 2 plages et compte le nb de numeros en commun

bonsoir
les series sont en lignes
la longueurs de la serie1 est variable.
la longeur de la serie est fixe est egale à 5 nombres
voila un fichier joint
 

Pièces jointes

  • Classeurserie.xls
    13.5 KB · Affichages: 93

Spitnolan08

XLDnaute Barbatruc
Re : comparer 2 plages et compte le nb de numeros en commun

Re,

Sur la base du fichier joint, mais essaye d'être clair dans tes énoncés car ce n'est pas le premier qui ne l'est pas;) :
Code:
Sub nbcommun()
Dim Nb As Integer, i As Integer, j as integer, k as integer

For k = 7 To Range("B65500").End(xlUp).Row
    Nb = 0
    For i = 0 To 4
        For j = 0 To 11
            If Cells(k, 15 + i) = Cells(k, 2 + j) Then Nb = Nb + 1
        Next
    Next
    Cells(k, "U") = Nb
Next
End Sub
Cordialement
 

smotty

XLDnaute Occasionnel
Re : comparer 2 plages et compte le nb de numeros en commun

Bonsoir,

voici une fonction vba que tu peux mettre dans un module.

editeur vba, insérer un modul, et tu copie le code

Tu peux ainsi faire appel à cette fonction depuis la feuille de calcul.

Champs1 est le champs contenant la 1ère série, et champs2 la 2ème.

Tu tappe dans une cellule:
=NbCommuns(A2:A20;A22:A27)

et ça marche

Function NbCommuns(ByRef Champs1 As Range, ByRef Champs2 As Range) As Integer
Dim cell As Range
Dim c As Range
Dim nb As Integer
Dim d As Variant
nb = 0
For Each cell In Champs1
d = cell.Value
Set c = Champs2.Find(d, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
nb = nb + 1
End If
Next cell
NbCommuns = nb
End Function
 

Discussions similaires

Statistiques des forums

Discussions
312 400
Messages
2 088 082
Membres
103 710
dernier inscrit
amin Saadaoui