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...
Partager