A voir également:
- Vba - arret d'une macro après 1ere execution
- Arrêt maladie - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Réinitialiser chromecast 1ere génération - Guide
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
11 réponses
jai essayé de placer exit for après le end if et avant, ca ne fonctionne pas, il envoit toujours le mail malgré que ma valeur est prie: "mail envoyé".
Re,
Essaie comme ça
106485010510997108
Essaie comme ça
Sub TaProcedure() Application.EnableEvents = False Dim date48 As Date Dim datejour As Date date48 = 48 datejour = Now Dim lig As Long For lig = 158 To [E65536].End(xlUp).Row If datejour - Cells(lig, 5) > date48 / 24 And Cells(lig, 5) <> "" Then Cells(lig, 26) = "en retard" Call Audit.audit48_Click Exit For End If Next lig Cells(lig, 26) = "Mail envoyé" Application.EnableEvents = True End Sub--
106485010510997108
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
J'ai lu en peu en diagonale.
En fait le Exit For n'a rien à avoir.
Ta boucle ne fait rien saut le If...End If
C'est l'evenement worksheet_change qui pose des problèmes.
Essaie de mettre ta macro dans un module et tu verras s'il y a encore des problèmes.
J'ai lu en peu en diagonale.
En fait le Exit For n'a rien à avoir.
Ta boucle ne fait rien saut le If...End If
C'est l'evenement worksheet_change qui pose des problèmes.
Essaie de mettre ta macro dans un module et tu verras s'il y a encore des problèmes.
Ok je vais tester ca, par contre si ca marche comment je remplace mon évenement worksheet_change?
je pourrai m'adapater avec thisworkbook_open je pense
je pourrai m'adapater avec thisworkbook_open je pense
Pourquoi lorsque je place ma macro dans un module en public sub et que je l'appel avec workbook_open, ma macro ne s'execute pas, j'ai même essayer de la placer derriere un bouton_click et l'appeler avec workbook_open et elle ne se lance pas, une idée ?
Salut,
Si je me rappelle bien, j'ai déjà eu ce problème en ce qui concerne le lancement automatique :
il faut mettre ton code dans ThisWorkbook et pas dans un module ou une feuille.
Par contre, je n'ai pas d'explication du pourquoi on doit faire ça dont je suis sûr !
Bon courage !
ed
Si je me rappelle bien, j'ai déjà eu ce problème en ce qui concerne le lancement automatique :
il faut mettre ton code dans ThisWorkbook et pas dans un module ou une feuille.
Par contre, je n'ai pas d'explication du pourquoi on doit faire ça dont je suis sûr !
Bon courage !
ed
Maintenant, même si ma valeur est à "mail envoyé" le mail est toujours envoyé avec la tableau, je ne comprends pas !
J'ai enfin trouvé, j'ai modifié la macro, le problème était qu'a chaque ouverture du fichier excel, le test était refait, donc dans le workbook_open j'ai placé à peu près la même macro sauf que j'ai supprimé l'étape de test :
Private Sub envoi_mail_retard()
Application.EnableEvents = False
Dim date48 As Date
Dim datejour As Date
date48 = 48
datejour = Now
Dim lig As Long
For lig = 158 To [E65536].End(xlUp).Row
If Cells(lig, 26).Value = "en retard" Then
Call envoi_mail
.cells(lig, 26).Value = "Mail envoyé"
End If
Next lig
Application.EnableEvents = True
End Sub
merci !
Private Sub envoi_mail_retard()
Application.EnableEvents = False
Dim date48 As Date
Dim datejour As Date
date48 = 48
datejour = Now
Dim lig As Long
For lig = 158 To [E65536].End(xlUp).Row
If Cells(lig, 26).Value = "en retard" Then
Call envoi_mail
.cells(lig, 26).Value = "Mail envoyé"
End If
Next lig
Application.EnableEvents = True
End Sub
merci !