recherche de valeur additionné dans une colonne

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

V

vinzdu16

Guest
Bonjour 🙂

Je recherche une valeur ou une somme de valeurs dans une colonne
d'un tableau Excel,

Je pense que les informations à définir sont les suivantes :
1 - définir une colonne de recherche
2 - définir une valeur à recherché
La valeur trouvé est une addition de valeurs compris dans la colonne de recherche.

Merci d"avance pour votre aide.🙂
 
Re : recherche de valeur additionné dans une colonne

Par exemple je recherche la somme de 54 dans la colonne suivante

4
10
50
100
154
1000
44444

existe il une fonction qui permet de chercher en ligne 1 et 3 en les aditionnant.

Merci🙂🙂
 
Re : recherche de valeur additionné dans une colonne

Bonjour vinzdu16
Voila une fonction que vous pourrez peut-être adapter à votre problème.
Code:
Function calcul(nombre As Long)
Dim oDat(), i As Long, j As Long, k As Long, l As Long, m As Long, n As Long
Dim a1 As Long, a2 As Long, a3 As Long, a4 As Long, a5 As Long
    oDat = Array(4, 10, 50, 100, 154, 1000, 44444)
    For i = 0 To 6
        a1 = oDat(i)
        If nombre = a1 Then Exit For
    Next i
    If i > 6 Then
        For i = 0 To 5
            a1 = oDat(i)
            For j = i + 1 To 6
                If nombre = a1 + oDat(j) Then Exit For
            Next j
            If j < 7 Then Exit For
        Next i
        If i > 5 Then
            For i = 0 To 4
                a1 = oDat(i)
                For j = i + 1 To 5
                    a2 = a1 + oDat(j)
                    For k = j + 1 To 6
                        If nombre = a2 + oDat(k) Then Exit For
                    Next k
                    If k < 7 Then Exit For
                Next j
                If j < 6 Then Exit For
            Next i
            If i > 4 Then
                For i = 0 To 3
                    a1 = oDat(i)
                    For j = i + 1 To 4
                        a2 = a1 + oDat(j)
                        For k = j + 1 To 5
                            a3 = a2 + oDat(k)
                            For l = k + 1 To 6
                                If nombre = a3 + oDat(l) Then Exit For
                            Next l
                            If l < 7 Then Exit For
                        Next k
                        If k < 6 Then Exit For
                    Next j
                    If j < 5 Then Exit For
                Next i
                If i > 3 Then
                    For i = 0 To 2
                        a1 = oDat(i)
                        For j = i + 1 To 3
                            a2 = a1 + oDat(j)
                            For k = j + 1 To 4
                                a3 = a2 + oDat(k)
                                For l = k + 1 To 5
                                    a4 = a3 + oDat(l)
                                    For m = l + 1 To 6
                                        If nombre = a4 + oDat(m) Then Exit For
                                    Next m
                                    If m < 7 Then Exit For
                                Next l
                                If l < 6 Then Exit For
                            Next k
                            If k < 5 Then Exit For
                        Next j
                        If j < 4 Then Exit For
                    Next i
                    If i > 2 Then
                        For i = 0 To 1
                            a1 = oDat(i)
                            For j = i + 1 To 2
                                a2 = a1 + oDat(j)
                                For k = j + 1 To 3
                                    a3 = a2 + oDat(k)
                                    For l = k + 1 To 4
                                        a4 = a3 + oDat(l)
                                        For m = l + 1 To 5
                                            a5 = a4 + oDat(m)
                                            For n = m + 1 To 6
                                                If nombre = a5 + oDat(n) Then Exit For
                                            Next n
                                            If n < 7 Then Exit For
                                        Next m
                                        If m < 6 Then Exit For
                                    Next l
                                    If l < 5 Then Exit For
                                Next k
                                If k < 4 Then Exit For
                            Next j
                            If j < 3 Then Exit For
                        Next i
                        If i > 1 Then
                            If nombre = oDat(0) + oDat(1) + oDat(2) + oDat(3) + oDat(4) + oDat(5) + oDat(6) Then
                                calcul = "=" & oDat(0) & "+" & oDat(1) & "+" & oDat(2) & "+" & oDat(3) & "+" & oDat(4) & "+" & oDat(5) & "+" & oDat(6)
                            Else
                                calcul = "pas de solution"
                            End If
                        Else
                            calcul = "=" & a1 & "+" & oDat(j) & "+" & oDat(k) & "+" & oDat(l) & "+" & oDat(m) & "+" & oDat(n)
                        End If
                    Else
                        calcul = "=" & a1 & "+" & oDat(j) & "+" & oDat(k) & "+" & oDat(l) & "+" & oDat(m)
                    End If
                Else
                    calcul = "=" & a1 & "+" & oDat(j) & "+" & oDat(k) & "+" & oDat(l)
                End If
            Else
                calcul = "=" & a1 & "+" & oDat(j) & "+" & oDat(k)
            End If
        Else
            calcul = "=" & a1 & "+" & oDat(j)
        End If
    Else
        calcul = "=" & a1
    End If
End Function
ROGER2327
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 agrandir la liste
Réponses
21
Affichages
692
Réponses
2
Affichages
246
Réponses
4
Affichages
576
Retour