Excel VBA - donner la valeur commune de 2 plages de données

Bonjour,

Étant novice en VBA je me permet de me tourner vers vous et vous remercie d'avance pour vos réponses.

Voila mon problème :

indice
a810121416
18
b121416
182022
c
182022242628
d121416182022
e303234363840

imaginons que j'ai besoin de choisir les indices "a" et "b", j’aimerais un programme qui me renvoie le plus petit nombre commun de ces 2 indices (ici 12). De la même manière pour les indices "c" et "d" ce sera 18. Pour "a", "b" et "c" c'est 18. Et enfin un message d’erreur dans le cas indices "e" et "d" choisi.

Pourrai-je avoir votre aide ?

Bonjour,

Soit le tableau structuré "t_Indices" ci-dessous.

En A10 et B10 deux listes de validation contenant la formule =INDIRECT("t_Indices[Indices]")

capture

Et la fonction ValeurCommuneMini

Function ValeurCommuneMini(ByVal AireIndices As Range, ByVal Indice1 As String, ByVal Indice2 As String) As Variant

Dim I As Integer, J As Integer
Dim Continuer As Boolean
Dim Aire1 As Range, Aire2 As Range

    ValeurCommuneMini = "Aucune valeur commune"

    For I = 1 To AireIndices.Count
        If AireIndices(I) = Indice1 Then Set Aire1 = Range(AireIndices(I).Offset(0, 1), AireIndices(I).Offset(0, 6))
        If AireIndices(I) = Indice2 Then Set Aire2 = Range(AireIndices(I).Offset(0, 1), AireIndices(I).Offset(0, 6))
    Next I

    Continuer = True
    For I = 1 To Aire1.Count
        For J = 1 To Aire2.Count
            If Aire1(I) = Aire2(J) Then
               ValeurCommuneMini = Aire1(I)
               Continuer = False
            End If
        Next J
        If Continuer = False Then Exit For
    Next I

   Set Aire1 = Nothing: Set Aire2 = Nothing

End Function

Bonjour Eric,

Je te remercie pour ton aide.

Rechercher des sujets similaires à "vba donner valeur commune plages donnees"