XL 2013 Inventaire total et périodique

La flamme

XLDnaute Junior
bonjour les experts du codage, svp j'ai un problème qui me dépasse , c'est pour cette raison que je me tourne vers vous pour bénéficier de vos différents points de vues .
j'ai un facturier automatisé, et j'aimerais pouvoir faire , soit de toutes les factures ou sur une période délimiter par deux dates différentes. Le problème est le suivant l'inventaire doit prendre en compte : la somme des valeurs en B si en F est memtionné payé là on est sur sheets ("prog") - (la somme des cellules C D E de sheets ("achat") + autres dépenses obligatoire qui sera saisie dans un inputbox) là c'est de manière générale, l'utilisateur pourra avoir la possibilité de spécifier cette même opération sur une plage de date en saisissant date de début et date de fin.
je ne sais pas si cela est réalisable ou pas . Dans tous les cas je me remets à vous pour en savoir d'avantage. Merci d'avance
cordialement
 

Pièces jointes

  • inventaire.xlsm
    48.9 KB · Affichages: 24
Solution
J'ai rajouté le module Enregistrement.
Dans le module Périodique, à la fin des calculs, toutes les infos sont mémorisées dans des variables Public
( ColB à ColE )
En cas de demande d'enregistrement il suffit de transférer ces données publiques dans la page Dep.
Simple et efficace.
( L'enregistrement ne se fait qu'en Périodique à cause des dates qu'il faut mémoriser dans Dep )

La flamme

XLDnaute Junior
J'ai fini par interpréter mathématiquement mon problème là je ne sais comment faire correspondance en VBA afin qu'il soit automatisé.
Si l'utilisateur choisir inventaire général dans l'userform2 alors il s'en suit trois opérations à savoir :
- dans sheets ("Prog").Range("prog"), de la deuxième ligne à la dernière ligne non vide, faire la somme des cell(i,2) Si cell(i,6)="Payé"
-dans sheets ("achat").Range("achat"'), de la deuxième ligne à la dernière ligne non vide la somme des cell (j,2)+cell(j,3)+cell(j,4)
- calcul inventaire = première somme- (seconde somme+ autre dépense)
Et afficher le résultat.
Dans le cas où l'utilisateur choisir plutôt inventaire périodique faire pareillement avec intervalle compris entre date de début et date de fin.
En sheets prog les dates sont dans la colonne G tandis qu'en sheets achat c'est dans la colonne I . Merci d'avance
Cordialement
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Désolé j'ai travaillé avec l'ancien, à vous de remettre à jour.
En PJ un essai avec dans Userform2 :
VB:
Private Sub CommandButton1_Click()
    If Général = False And Périodique = False Then
        MsgBox "Vous devez faire un choix de facture", 16
        Exit Sub
    End If
    If Général = True Then
        CalculGénéral
        Exit Sub
    End If
    If Périodique = True Then
        CalculPériodique
        Exit Sub
    End If
End Sub
et en module :
Code:
Sub CalculGénéral()
Dim Somme, L%
' Somme Prog
With Sheets("Prog")
    For L = 2 To .Range("A65500").End(xlUp).Row
        If .Cells(L, "B") <> "" And .Cells(L, "F") = "payé" Then
            Somme = Somme + .Cells(L, "B")
        End If
    Next L
End With
' Somme Achat
With Sheets("achat")
    For L = 2 To .Range("A65500").End(xlUp).Row
        Somme = Somme + .Cells(L, "B") + .Cells(L, "C") + .Cells(L, "D")
    Next L
End With
'Affichage résultat
Somme = Somme + Val(UserForm2.AutreDépense)
UserForm2.ResultInventaire = Somme
End Sub
Sub CalculPériodique()
Dim Somme, L%, Début, Fin
' Définition intervalle de temps et vérification validité dates
On Error GoTo Sortie
Début = CDate(UserForm2.DateDébut)
Fin = CDate(UserForm2.DateFin)
If SécuritéDates(Début, Fin) = 0 Then
    MsgBox "Problème de dates entrées."
    Exit Sub
End If
' Somme Prog
With Sheets("Prog")
    For L = 2 To .Range("A65500").End(xlUp).Row
        If .Cells(L, "B") <> "" And .Cells(L, "F") = "payé" Then
            If .Cells(L, "G") >= Début And .Cells(L, "G") <= Fin Then
                Somme = Somme + .Cells(L, "B")
            End If
        End If
    Next L
End With
' Somme Achat
With Sheets("achat")
    For L = 2 To .Range("A65500").End(xlUp).Row
        If .Cells(L, "G") >= Début And .Cells(L, "G") <= Fin Then
            Somme = Somme + .Cells(L, "B") + .Cells(L, "C") + .Cells(L, "D")
        End If
    Next L
End With
'Affichage résultat
Somme = Somme + Val(UserForm2.AutreDépense)
UserForm2.ResultInventaire = Somme
Exit Sub
Sortie:
MsgBox "Une erreur est survenue."
End Sub
Function SécuritéDates(Début, Fin)
    If IsNumeric(Val(Début)) And IsNumeric(Val(Fin)) And _
       Début <> "" And Fin <> "" Then
       SécuritéDates = 1
    Else
        SécuritéDates = 0
    End If
End Function
En espérant avoir tout compris. :)
 

Pièces jointes

  • inv1.xlsm
    52.6 KB · Affichages: 5

La flamme

XLDnaute Junior
Merci grandement Pour l'aide que vous apportez.
Là ça coince un peu, apparemment le code somme tout; stp essaye de revoir le code voir .
Le but est que ça fasse somme des entrées - somme des sorties soit sur une période où sur toute les plages, et autre dépense entre dans somme des sorties. Comme je disais en utilisant bilan ça supprime certains ligne de code .
La dernière phase sera stockage de: somme des entrées, somme des sorties, bilan et la date dans une autre feuille. Merci énormément
Cordialement
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Désolé, je ne comprend rien, faites un effort.
le code somme tout
essaye de revoir le code voir .

C'est quoi le code somme tout voir ? Et le code voir ça correspond à quoi ?
somme des entrées - somme des sorties
Comment voit on que ce sont des entrées ou des sorties ?
La dernière phase sera stockage
C'est quoi la dernière phase ? Phase de quoi ? Et quelle autre feuille ?
 

La flamme

XLDnaute Junior
Ok c'est bon je crois que j'ai compris ton code, j'ai augmenté les variables et tout marche comme sur les roulettes. Merci encore. J'ai un dernier soucis sur ce dernier , j'aimerai ajouter un bouton à userform (avec enregistrer oui ou non) pour stocker : la date du jour, somme des entrées (SA), somme des sorties (K), bilan (somme), date de début, date de fin sur Sheets ("Dep") . Merci d'avance je joins mon nouveau fichier.


Cordialement
 

Pièces jointes

  • inv2.xlsm
    57.1 KB · Affichages: 6

Discussions similaires

Statistiques des forums

Discussions
312 304
Messages
2 087 070
Membres
103 453
dernier inscrit
Choupi