Bonjour,

J’ai une question pour laquelle je n’ai pas trouvé de réponse sur le forum. Si elle existe, veuillez m’en excuser, ma recherche n’aura pas été des plus efficaces.

Voici mon « problème »…

Au boulot, je dois gérer une caisse avec de l’argent liquide.

J’ai créé un fichier excel pour m’aider dans ma clôture de caisse au soir. Tous les matins, je clique sur le bouton "générer onglet" afin d'ouvrir une nouvelle fiche pour la journée. Le nom de l'onglet est généré automatiquement par la macro (vous en trouverez le contenu plus bas).

Nom : fig1.png
Affichages : 245
Taille : 10,4 Ko

La macro du bouton enregistrer se trouve dans « ThisWorkbook » et se compose comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Sub Save_quit()
    Application.DisplayAlerts = False
    ActiveWorkbook.Save
    Application.Quit
End Sub
La macro associée au bouton « générer onglet » est la suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Sub CopieFeuille()
    ActiveSheet.Unprotect
    ActiveSheet.Select
    Cells.Select
    Selection.Copy
    ActiveSheet.Select
    Range("A1").Select
    DateJour = Range("J2").Value
    JourDate = Left(DateJour, 2) & "-" & Mid(DateJour, 4, 2) & "-" & Mid(DateJour, 7, 4)
    Sheets.Add
    ActiveSheet.Paste
    ActiveSheet.Name = JourDate
    Range("N2").Offset(0, 0).Value = Range("E13").Text
    Range("A1").Select
    Selection.Locked = True
    Range("D4:D12").Select
    Selection.Locked = False
    ActiveWindow.DisplayGridlines = False
    Application.DisplayFormulaBar = False
    ActiveWindow.DisplayHeadings = False
    Application.DisplayStatusBar = False
    Application.DisplayFullScreen = True
    ActiveSheet.ScrollArea = "A1:M20"
    ActiveSheet.Protect
End Sub
Ma question est la suivante :

Comment puis-je intégrer dans mon code une vérification (SI ?) entre le solde de la clôture (qui est récupéré sur la feuille précédente) et le montant de la caisse (somme des coupures) ?

J'ai essayé une condition classique dans une cellule avec le message "Erreur caisse" qui apparaît si tel est le cas. Cela fonctionne bien sur la feuille matrice (feuille qui sera masquée par la suite) mais le calcul ne se fait pas lorsque un nouvel onglet est généré.

Je vous remercie d’avance pour le temps que vous prendrez à me lire et, peut-être, à m’aider