VBA: comment récupérer la valeur d'une "inputbox" [Fermé]

Messages postés
7
Date d'inscription
vendredi 18 octobre 2013
Statut
Membre
Dernière intervention
27 novembre 2014
- - Dernière réponse : sterf9
Messages postés
7
Date d'inscription
vendredi 18 octobre 2013
Statut
Membre
Dernière intervention
27 novembre 2014
- 27 nov. 2014 à 08:10
Bonjour à toutes & tous,

j'ai un code de base dont le but est l'envoie d'un mail via outlook. afin d'éviter les envoies intenpestifs, je l'ai combiné avec une msgbox afin de valider ou non l'envoi. Ce mail sert à alerter un groupe de personne d'un problème qui peu avoir des causes multiples, c'est pourquoi j'ai décidé d'y ajouter une autre msgbox avec la fonction "inputbox" afin de pouvoir énoncer le pb rencontré. Tout ceci fonctionne bien sauf que je n'arrive pas à récupérer le texte de l' "inputbox" ("Problème X" textuellement dans le code) une fois renseigner pour l'insérer dans le corp ("body") du message afin de pouvoir signaler directement le type de problème.

Merci par avance à celles et ceux qui voudrons bien ce pencher sur mon PB.

voici le code en question:

Sub Mail_workbook_Outlook_C700()
'Working in 2000-2010
'This example send the last saved version of the Activeworkbook
Dim OutApp As Object
Dim OutMail As Object
Dim resultat As String

resultat = InputBox("Veuillez décrire le problème rencontré dans le champs ci-dessous", "type d'alerte", "Problème X")

If msgbox("voulez vous diffuser l'alerte C700 ?", vbOKCancel + vbExclamation, "confirmation") = vbOK Then
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

On Error Resume Next
With OutMail
.To = "XXXXXXXXXXXXXXXXXX.com"
.CC = ""
.BCC = ""
.Subject = "Alerte risque qualité"
.Body = "bonjour," & vbCrLf _
& vbCrLf _
& "Ceci est un message automatique d'alerte vous prévenant d'un risque qualité.Cliquer sur le lien hypertexte ci dessous pour le visualiser" & vbCrLf _
& vbCrLf _
& vbCrLf _
& "<http://XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.xlsm>" _
& vbCrLf _
& vbCrLf _
& "l'équipe Basic line"

'You can add other files also like this
'.Attachments.Add ("C:\test.txt")
.Send 'or use .Display
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
Else
msgbox "Alerte annulée", vbInformation
End If
End Sub
Afficher la suite 

3 réponses

Messages postés
8714
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
24 novembre 2019
1028
0
Merci
Bonjour,
Pourquoi vouloir mettre le contenu de l'alerte dans un fichier annexe ? tu peu le mettre directement dans le corps du message !
A+
sterf9
Messages postés
7
Date d'inscription
vendredi 18 octobre 2013
Statut
Membre
Dernière intervention
27 novembre 2014
-
salut Lermite222,
en fait je ne veut pas mettre le contenu dans un fichier mais dans le corp du message qui est automatiquement envoyé par la macro apres avoir renseigné et validé la "inputbox"

merci quand meme ;)
Messages postés
8714
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
24 novembre 2019
1028
0
Merci
Je dis ça parce que tu met un lien !!
.Body = "bonjour," & vbCrLf _ 
& vbCrLf _
& "Ceci est un message automatique d'alerte vous prévenant d'un risque qualité.Cliquer sur le lien hypertexte ci dessous pour le visualiser" & vbCrLf _
& vbCrLf _
& vbCrLf _
& Resultat _
& vbCrLf _
& vbCrLf _
& "l'équipe Basic line"
A+
sterf9
Messages postés
7
Date d'inscription
vendredi 18 octobre 2013
Statut
Membre
Dernière intervention
27 novembre 2014
-
Bonjour lermite222,
je tiens aujourd'hui à vous présenter mes excuses pour ne pas avoir répondu à votre deuxième intervention qui m'a pourtant guidé sur la résolution de mon PB. Je tiens également à vous assurer une plus grande vigilance de ma part sur ce point à l'avenir.

En espérant que vous ne m'en tiendrez pas rigueur.
merci pour votre aide.
Messages postés
7
Date d'inscription
vendredi 18 octobre 2013
Statut
Membre
Dernière intervention
27 novembre 2014
0
Merci
Bonjour,
je reviens aujourd'hui sur ce sujet afin de réparer mon erreur (j'ai complètement zapper la réponse au deuxième message de lermite222).

la solution trouvé à ce PB:

Sub Mail_XXX()

Dim OutApp As Object
Dim OutMail As Object

resultat = inputbox("Veuillez décrire le problème dans le champ ci-dessous:", "type d'alerte", " Problème d'écart de XXX")

If msgbox("voulez vous diffuser l'alerte XXX", vbOKCancel + vbExclamation, "confirmation") = vbOK Then
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

On Error Resume Next
With OutMail
.To = "XXX.com"
.CC = ""
.BCC = ""
.Subject = "Alerte risque XXX"
.Body = "bonjour," & vbCrLf _
& vbCrLf _
& " Ceci est un message automatique d'alerte vous prévenant d'un risque qualité de type:" & vbCrLf _
& vbCrLf _
& resultat & "sur la station XXX." & vbCrLf _
& vbCrLf _
& " Cliquer sur le lien hypertexte ci dessous pour le visualiser:" & vbCrLf _
& " <http://XXX.xlsm>" _
& vbCrLf _
& vbCrLf _
& " l'équipe XXX"

.Send
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
Else
msgbox "Alerte annulée", vbInformation
End If
End Sub

En gros, il suffisait juste d'intégrer la variable "résultat" au bon endroit dans le corp du message

merci à Eriic pour avoir mis en évidence mon impolitesse sur ce sujet.

cordialement