Bonjour à tous,
Voilà je bug sur un code VBA que j'ai fais.
J'envois un mail à plusieurs clients en leur demandant de me confirmer leurs coordonnées (format @). Ces clients me répondent en m'indiquant les bonnes coordonnées.
J'essaie de faire en sorte que mon tableau excel lise les mails en fonction de l'objet, puis regarde l'id du client et afffecte les bonnes coordonnées dans le tableau (colonne E) puis supprime le mail une fois les bonnes infos récupérées. Par contre mon code bug

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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Sub readBodyEmail()
Dim I As Long, line As Long
Dim strtemp As String
Dim objol As Object
Dim mynamespace As Object
Dim myfolder As Object
Dim pos As Long
Dim num
 
On Error GoTo erreur
 
Set objol = CreateObject("outlook.application")
Set mynamespace = objol.getnamespace("MAPI")
 
'Determiner le chemin du dossier à lire
Set myfolder = mynamespace.Folders.Item(1).Folders("boite de réception")
 
For Each courriel In myfolder.Items
Ligne = ActiveSheet.Cells(Rows.Count, "E").End(x1Up).Row + 1 'nouvelle ligne du classeur
strtemp = courriel.body 'place le corps du message dans une chaine
 
'Recherche du terme "clients"
pos = InStr(1, LCase(strtemp), "avis de paiement") 'position du "a" de numéro
If pos > 0 Then
For I = pos + 15 To pos + 50 'on boucle 15 caractères à partir de la fin de "clients"
If Mid(strtemp, I, 1) <> "" And Not IsNumeric(Mid(strtemp, I, 1)) Then
Range("A" & Ligne) = Val(num)
Exit For
Else
num = num & Mid(strtemp, I, 1)
End If
Next
End If
 
End Sub