OVH Cloud OVH Cloud

PB SUR UN SCRIPT D' ENVOI MAIL

3 réponses
Avatar
omar_2891
Bonjour, j'ai un pb sur mon script, =E0 l'origine c'est un script qui
permet de tester plusieurs cellules et d'ouvrir Outlook pour l'envoi
d'un si VB d=E9tecte une valeur >1.33.
Mais visiblement, lorsque les anomalies sont nombreuses VB n'ouvre pas
Outlook et pr=E9vient qu'il y a une erreur d'execution '5'

Le deboger m'a surligner la ligne suivante :
ActiveWorkbook.FollowHyperlink Address:=3DURLto

Je ne sais pourquoi ca cloche et c pour cela que je viens chercher de
l'aide!!!

Sub Envoi_Mail_ALERTE()
Dim Colonne As Long
Dim Ligne As Long
Dim MailAd As String
Dim Msg As String
Dim Subj As String
Dim URLto As String
For Ligne =3D 5 To 57
For Colonne =3D 7 To 206
If Cells(Ligne, Colonne) < 1.33 And Cells(Ligne, Colonne) >
0 Then
MailAd =3D Range("a2")
Subj =3D Range("b2")
Msg =3D Msg & Range("a" & Ligne) & vbCrLf
MsgBox Msg
End If
Next Colonne
Next Ligne
URLto =3D "mailto:" & MailAd & "?subject=3D" & Subj & "&body=3D" & Msg
ActiveWorkbook.FollowHyperlink Address:=3DURLto
End Sub

En vous remerciant d'avance.

Omar

3 réponses

Avatar
Crisu
Slt, si j ai bien compris tu veux envoyer un e-mail lorsque tu detecte un
evaleur > x, via Outlook.
Et ton script merde lors de l'envoi du mail ?

Si c est bien ca je te ocnseil d'utiliser un dll tres simple : blat.dll
http://blat.net/

C 'est bien plus simple pour l'envoi de mail :)

Si besoin de plus de renseigneent voici momn msn :

Bonne continuation :)

"" wrote:

Bonjour, j'ai un pb sur mon script, à l'origine c'est un script qui
permet de tester plusieurs cellules et d'ouvrir Outlook pour l'envoi
d'un si VB détecte une valeur >1.33.
Mais visiblement, lorsque les anomalies sont nombreuses VB n'ouvre pas
Outlook et prévient qu'il y a une erreur d'execution '5'

Le deboger m'a surligner la ligne suivante :
ActiveWorkbook.FollowHyperlink Address:=URLto

Je ne sais pourquoi ca cloche et c pour cela que je viens chercher de
l'aide!!!

Sub Envoi_Mail_ALERTE()
Dim Colonne As Long
Dim Ligne As Long
Dim MailAd As String
Dim Msg As String
Dim Subj As String
Dim URLto As String
For Ligne = 5 To 57
For Colonne = 7 To 206
If Cells(Ligne, Colonne) < 1.33 And Cells(Ligne, Colonne) >
0 Then
MailAd = Range("a2")
Subj = Range("b2")
Msg = Msg & Range("a" & Ligne) & vbCrLf
MsgBox Msg
End If
Next Colonne
Next Ligne
URLto = "mailto:" & MailAd & "?subject=" & Subj & "&body=" & Msg
ActiveWorkbook.FollowHyperlink Address:=URLto
End Sub

En vous remerciant d'avance.

Omar




Avatar
omar_2891
je ne sais malheureusement pas ce qu'est un dll !
Mon pb dans cette base de donnée c'est que outlook s ouvre bien mais
qu'il repete plusieurs fois certaines informations....
J'aimerai qu'il puisse détecter l'info et ne l inscrive qu'une seule
fois dans le corp de texte

Omar
Avatar
Gloops
Bonjour,

A ce que je comprends il y a là deux problèmes possibles et il convient
de bien distinguer entre les deux.

Il s'agit d'abord de savoir ce qu'il y a dans Msg, y compris les
caractères séparateurs.

Traditionnellement on peut afficher le contenu par un bricolage du style
For N = 1 to Len(Msg): ? N, Asc(Mid$(Msg, N, 1)), Mid$(Msg, N, 1) : Next

(le tout dans la fenêtre d'exécution bien entendu)
Si ça passe trop vite on peut ajouter un MsgBox pour faire une pause,
avant le Next. On peut aussi écrire dans un fichier texte, pour pouvoir
consulter le résultat tranquillement ensuite.

Une fois qu'on sait ce qu'il y a dans Msg, il convient de vérifier si
c'est compatible avec la syntaxe qu'on se propose d'utiliser pour
l'envoi d'un mail. On sait alors que rechercher dans l'aide de l'outil
d'envoi de mail, et si on n'est pas satisfait de ce qu'on trouve on sait
pourquoi on a envie de chercher un autre outil.
_______________________________
a écrit :
je ne sais malheureusement pas ce qu'est un dll !
Mon pb dans cette base de donnée c'est que outlook s ouvre bien mais
qu'il repete plusieurs fois certaines informations....
J'aimerai qu'il puisse détecter l'info et ne l inscrive qu'une seule
fois dans le corp de texte

Omar