Macro excel : problème boucle ou envoi mail
chystre59
-
chystre59 -
chystre59 -
Bonjour,
Je cherche à envoyer un mail lorsqu'une tache a un retard par rapport au délai initial. Il y a en tout 246 taches. Le retard s'il existe est inscrit automatiquement dans ma feuille excel (colonne K).
Je travaille donc sous Excel et Visual Basic mais j'ai un problème avec cette macro, elle ne s'execute pas.
Voici mon programme.
Sub EnvoiMail()
Dim MailAd As String
Dim Msg As String
Dim Subj As String
Dim URLto As String
Dim Etat As String
Dim Etat2 As String
Dim Last As Integer
Dim i As Integer
Sheets("Planning").Select
Last = Range("K1").End(xlDown).Row
For i = 4 To Last
Etat = Range("K" & i).Value
Etat2 = Retard
If Etat = Etat2 Then
MailAd = "xx@xx.fr"
Subj = "retard dans une tâche"
Msg = "Bonjour," & vbCrLf & "je viens de voir qu'il y avait du retard dans l'éxecution d'une tache." & vbCrLf & "Pourriez-vous régulariser cela ?" & vbCrLf & "Cordialement"
URLto = "mailto:" & MailAd & "?subject=" & Subj & "&body=" & Msg
ActiveWorkbook.FollowHyperlink Address:=URLto
End If
Next i
End Sub
Quelqu'un aurait-il une solution ?
Merci
Je cherche à envoyer un mail lorsqu'une tache a un retard par rapport au délai initial. Il y a en tout 246 taches. Le retard s'il existe est inscrit automatiquement dans ma feuille excel (colonne K).
Je travaille donc sous Excel et Visual Basic mais j'ai un problème avec cette macro, elle ne s'execute pas.
Voici mon programme.
Sub EnvoiMail()
Dim MailAd As String
Dim Msg As String
Dim Subj As String
Dim URLto As String
Dim Etat As String
Dim Etat2 As String
Dim Last As Integer
Dim i As Integer
Sheets("Planning").Select
Last = Range("K1").End(xlDown).Row
For i = 4 To Last
Etat = Range("K" & i).Value
Etat2 = Retard
If Etat = Etat2 Then
MailAd = "xx@xx.fr"
Subj = "retard dans une tâche"
Msg = "Bonjour," & vbCrLf & "je viens de voir qu'il y avait du retard dans l'éxecution d'une tache." & vbCrLf & "Pourriez-vous régulariser cela ?" & vbCrLf & "Cordialement"
URLto = "mailto:" & MailAd & "?subject=" & Subj & "&body=" & Msg
ActiveWorkbook.FollowHyperlink Address:=URLto
End If
Next i
End Sub
Quelqu'un aurait-il une solution ?
Merci
A voir également:
- Macro excel : problème boucle ou envoi mail
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
4 réponses
Bonjour,
Elle ne s'exécute pas ? ou bien le test pour envoyer le mail est toujours faut ?
en colonne K, qu'est ce qui est inscrit automatiquement ? (le mot : Retard, la valeur du retard ?)
Dans Etat2 = Retard :
1) Retard est initialiser à quel endroit ?
2) ou est ce l'affectation de la chaine de caractères retard à la variable Etat2 ?
Si c'est le 2) tu peux écrire :
If Range("K" & i).Value= "Retard" Then
Elle ne s'exécute pas ? ou bien le test pour envoyer le mail est toujours faut ?
en colonne K, qu'est ce qui est inscrit automatiquement ? (le mot : Retard, la valeur du retard ?)
Dans Etat2 = Retard :
1) Retard est initialiser à quel endroit ?
2) ou est ce l'affectation de la chaine de caractères retard à la variable Etat2 ?
Si c'est le 2) tu peux écrire :
If Range("K" & i).Value= "Retard" Then
chystre59
c'est bien le cas 2 mais en utilisant If Range("K" & i).Value= "Retard" Then ça ne fonctionne pas
Bonjour,
Si tu disais sur quelle ligne et le message d'erreur, ne crois tu pas que ça pourrait faciliter une aide que tu demandes ?
retard, c'est une variable ?
tu écris
Etat2 = Retard
Si tu disais sur quelle ligne et le message d'erreur, ne crois tu pas que ça pourrait faciliter une aide que tu demandes ?
retard, c'est une variable ?
tu écris
Etat2 = Retard