Bonjour à tous,

Je suis débutant en VBA et rencontre un problème auquel je ne trouve aucunes réponses.
J'ai réalisé une base de données contenant plusieurs macros afin d'ajouter des fichiers, naviguer etc.
J'ai une macro qui réalise l'envoi d'un mail, cependant j'aimerai qu'elle s'active à l'enregistrement et sur condition.
Plus précisément, j'ai une colonne dans laquelle je fais le calcul d'une moyenne, que je déroule sur 1000 ligne, et qui est formatée en pourcentage.
J'aimerai que lorsque l'une de ces cellules est supérieure à 60% et que j'enregistre mon fichier excel, alors ma macro "envoi_mail" se lance.

Voici le code :

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
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
 
SaveAsUI = False
Cancel = True
Application.EnableEvents = False
ThisWorkbook.Save
Application.EnableEvents = True
DoEvents
 
For i = 5 To 1000
 
    If Range("AG" & i).Value <> "" Then                        'erreur d'execution 13 ; incompatibilité de type
 
        If Range("AG" & i).Value > 6 Then                       'erreur d'execution 13 ; incompatibilité de type
            envoi_mail
        End If
    End If
Next i
End Sub

Par avance, je vous remercie pour vos réponses et reste à votre disposition pour toutes informations supplémentaires !

Ps : ne me demandez pas le fichier source, les données sont confidentielles...