Formule de recherche complexe

sharm

XLDnaute Nouveau
Je remplie un formulaire de feuille de caisse avec le nombre d'entrées et le nombres de sorties de monnaies.
Le formulaire étant amené à réinitialisé, il faut que je garde une trace dans une tableau récapitulatif.
Une ligne du tableau (du dessus) correspond à une feuille de caisse.
Il faut que je trouve une formule de recherche qui récupère le nbre de monnaies entrées et sortie (négatif).
Sur la pJ, j'ai inscrit manuellement les valeurs à récupérer , pour que vous compreniez ce que je cherche à faire.

Pour ce qui est de figer les données, lorsque le formulaire est réinitialisé, j'ai fait une macro.
Merci de votre aide

(merci à JP de m'avoir aidé à générer cette discussion)
 

Pièces jointes

  • exemple livrecaisse.xls
    20.5 KB · Affichages: 47

sharm

XLDnaute Nouveau
Re : Formule de recherche complexe

Vous n'avez pas bien saisie ma requête!

Le formulaire 'feuille de caisse' est rempli manuellement (sauf le sous total et total).
Le nombre des monnaies saisies dans le formulaire doit être récupérer , par l'intermédiaire d'une formule de recherche, au dessus (dans le tableau récapitulatif des entrées /sorties).
J'ai inscrit actuellement dans le tableau les données manuellement (pour exemple) mais il faut que ca soit fait par une formule de recherche incluse dans le tableau.

Espérant avoir exposé mon pbe un peu plus clairement que précédement.
Merci encore.
 

Raja

XLDnaute Accro
Re : Formule de recherche complexe

Bonjour, Salut à tous,

Une formule (même logique que celle de Jean-Marie) à copier dans les cellules C3,E3 etc :

Code:
=SOMMEPROD(($E$10:$E$25=D$2)*($D$10:$D$25)-($G$10:$G$25=D$2)*($F$10:$F$25))
 
Dernière édition:

jeanpierre

Nous a quitté
Repose en paix
Re : Formule de recherche complexe

Bonjour le fil et meilleurs voeux à tous,

Peut-être simplement dans Outils/Options et Affichage, Décocher valeur zéro.

Sinon, il faut faire un test sur le résultat qui va alourdir la formule en longueur.

Bons voeux tous.

Jean-Pierre
 

kjin

XLDnaute Barbatruc
Re : Formule de recherche complexe

Bonjour à tous,
Je ne comprends pas vraiment comment on fait pour garder une trace par formule, c'était me semble t-il l'objet du fil, mais bon
A tester et à adapter, si j'ai compris qqchose
A+
kjin
 

Pièces jointes

  • livrecaisse_V1.zip
    12.4 KB · Affichages: 31
  • livrecaisse_V1.zip
    12.4 KB · Affichages: 32
  • livrecaisse_V1.zip
    12.4 KB · Affichages: 28

kjin

XLDnaute Barbatruc
Re : Formule de recherche complexe

Re,
C'est exact, le dernier "End If" est mal placé, désolé
Voilà le code corrigé
Code:
Sub Export()
If Range("B10") = "" And Range("D10") = "" Then Exit Sub
If Range("B10") <> "" Then
    Tab1 = Range("B10:C" & Range("B26").End(xlUp).Row)
End If
If Range("D10") <> "" Then
    Tab2 = Range("D10:E" & Range("D26").End(xlUp).Row)
End If
    Num = Range("B8")
        With Sheets("feuil2")
            derlign = .Range("A65000").End(xlUp).Row + 1
            .Range("A" & derlign) = Num
            .Range("A" & derlign).NumberFormat = "000000"
            If Not IsEmpty(Tab1) Then
                For i = 1 To UBound(Tab1)
                    x = Tab1(i, 2)
                    Set MonE = .Range("B2:AA2").Find(what:=x, LookAt:=xlWhole)
                    If Not MonE Is Nothing Then
                        .Cells(derlign, MonE.Column) = Tab1(i, 1)
                        .Cells(derlign, MonE.Column + 1) = Tab1(i, 1) * x
                    End If
                    Set MonE = Nothing
                Next
            End If
            If Not IsEmpty(Tab2) Then
                For j = 1 To UBound(Tab2)
                    y = Tab2(j, 2)
                    Set MonS = .Range("B2:AA2").Find(what:=y, LookAt:=xlWhole)
                    If Not MonS Is Nothing Then
                    k = Format(Tab2(j, 1), "-0")
                        .Cells(derlign, MonS.Column) = k
                        .Cells(derlign, MonS.Column + 1) = Tab2(j, 2) * k
                    End If
                    Set MonS = Nothing
                Next
            [COLOR="Blue"]End If[/COLOR]
            Range("B10:E25").ClearContents 'Effacement tableau
            Range("B8") = Range("B8") + 1 'Incrémentation N° feuille
        End With

End Sub
En outre, je n'ai pas envisagé l'entrée et sortie d'une même valeur monétaire (ex 500 en sortie et 500 en entrée), car dans ton tableau récapitulatif il n'y avait pas de colonne prévue pour ce cas, donc qq précisions seraient bienvenues.
A+
kjin
 

Discussions similaires

Réponses
11
Affichages
299

Statistiques des forums

Discussions
312 840
Messages
2 092 701
Membres
105 513
dernier inscrit
simo200100