Interprétation textbox

Hello les dev,

Je reviens avec mon problème de textbox qui me bloque encore et toujours

J'essaye désespérément de faire apparaître "ça fonctionne" (soi le contenu de ma textbox1) en appuyant sur ce maudit bouton

Il est bien sûr interdit de mettre

msgbox = me.textbox1

Le but est "d’interpréter" le contenu du textbox2. Ce Userform est hors contexte, mais l solution me permettra de résoudre mon problème.

Merci d'avance 1000 fois à ceux qui se pencheront sur la solution.

Bonjour,

A part en supprimant ".value" de la valeur de TextBox2, ce n'est pas possible

De plus, je ne vois pas l'intérêt de la chose il faudra nous donner plus d'explications

@+

Bonjour à tous,

Si j'ai bien compris le souci ...

Pour ne pas utiliser de bouton ...

En sortant de TextBox2, l'événement s'activera...

Private Sub TextBox2_AfterUpdate()
    MsgBox Me.TextBox1
End Sub

ric

Bonjour ric

Désolé, mais tu n'as pas compris

J'essaye désespérément de faire apparaître "ça fonctionne" (soi le contenu de ma textbox1) en appuyant sur ce maudit bouton

Il est bien sûr interdit de mettre

msgbox = me.textbox1

Bonjour,

je suis de l'avis de bruno, soit la question n'a aucun sens (on veut utiliser .Text mais sans l'utiliser ?!?), soit elle est très mal posée.

eric

Je vais essayer d'être plus clair mais c'est pas simple car effectivement sorti de mes besoins celà n'a aucun sens.

On oubli le premier fichier avec les deux textbox, en voilà un qui sera plus clair (enfin j'espère)

Le but est de trouver le moyen d'afficher "Bonjour Mr .X" dans la msgbox

Alors oui il serait très facile d'utiliser le code

msgbox = textbox1 & " " & Nom

Mais ce n'est pas le but car je vais utiliser le contenu de ce textbox1 pour que mes équipes puissent envoyer des messages personnalisés par mail. Sauf que je ne veut pas qu'ils aillent bidouiller dans le code pour chaque nouveau mail (avec un texte différent, des variables différentes...)

Comment remplir la textbox1 ou quoi mettre dans le code vba pour que le msgbox aille chercher des variables et qu'au lieu de

"Bonjour [nom]" il m'affiche "Bonjour Mr.x" quand j'appuis sur le bouton.

P.S je précise j'au j'ai mis [nom] pour vous indiquer que c'est une variable, mais si ça se trouve la syntaxe n'est pas du tout la bonne

J'espère que c'est plus clair

Non, pas plus clair.

Logiquement ton nom doit être 'quelque part où tu veux', utilise ce 'quelque part où tu veux' épicétou.

Bon, j'ai recrée le module pour essayer d'être plus clair

Comment faire pour intégrer les variables (nom et prénom) dans le body de mon mail à la place des textes que j'ai mis entre [].

Le but est d'avoir un corps de mail personnalisé mais sans aller modifier le code, juste à partit de textbox1.

J'espère que cette fois j'ai réussi à parler français car avec la fatigue, j'ai beaucoup de mal à m'exprimer.

Merci encore milles fois à celles et ceux qui prendront le temps de m'aider

Boulii038

Non mais sans déconner

Tout ça pour ça...

Tu pouvais pas donner ton exemple directement

"Interprétation textbox"

"Remplacer [Nom] d'une textbox pas la valeur d'une cellule" oui ok

Bref, pour ma part je ne répondrais pas

Oui j'aurais du commencer par créer le fichier, mais je ne suis pas très très rapide en VBA et je pensais aller plus vite en expliquant... ben c'est raté .

Comment k on fait du kou ?

Bref, pour ma part je ne répondrais pas

C'est bien dommage pour moi, j'espère que quelqu'un aura la solution

Re,

T'inquiète il y en a pleins d'autres qui répondront

Perso, je n'aime pas perdre mon temps avec des sujet qui ne sont pas explicites...

Va droit au but garçon... au lieu de passer par des détournements

Bonjour à tous,

Je ne suis pas apte à convertir un TextBox en .HTMLBody.

J'ai donc modifié pour .Body et ne conservant dans le TextBox que "Ceci est un texte pour afficher vos informations."

Un essai ...

Private Sub CommandButton1_Click()
Dim Ligne As Integer
Dim OutApp As Object
Dim OutMail As Object
Dim Nom As String
Dim Prenom As String

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    For i = 0 To Me.ListBox1.ListCount - 1

        If Me.ListBox1.Selected(i) = True Then
            Ligne = i + 2
            Nom = StrConv(Sheets("Feuil1").Cells(Ligne, 1), vbProperCase)
            Nom = Trim(Nom)
            Prenom = StrConv(Sheets("Feuil1").Cells(Ligne, 2), vbProperCase)
            Prenom = Trim(Prenom)
            mail = Sheets("Feuil1").Cells(Ligne, 3)

            With OutMail
                .To = mail
                .CC = ""
                .BCC = ""
                .Subject = "Essai"
                .Body = "Bonjour " & Prenom & " " & Nom & "," & Chr(13) & Chr(13) & "     " & Me.TextBox1.Text
                .Display
    ''            .Send
            End With

            Set OutMail = Nothing
            Set OutApp = Nothing
        End If
    Next i
End Sub

ric

Bonjour Ric, merci de ton retour, malheureusement, cette solution ne convient pas (c'est ce que j'ai désespérément essayé de expliquer sans y parvenir)

En effet, si un de mes collaborateur veut changer le contenu du message et bien il est obligé d'aller trifouiller dans le code vba et c'est surtout ce que je ne veux pas.

Mon besoin est de remplir le .body d'après le contenu d'un textbox en y intégrant des variables (il doit y avoir un façon de renseigner la textbox ou un bout de code derrière pour y parvenir mais je en trouve pas)

Bonjour,

I'm so sorry Boulii038.

ric

Ne le sois pas, merci en tout cas d'avoir pris le temps d’essayer de me dépatouiller

Peut être que ma demande est impossible, mais j'avais espoir car par exemple si dans une textbox tu mets 2+1 avec le code suivant

msgbox = MsgBox Evaluate(TextBox1.Text)

Et bien msgbox affiche est bien 3 et non "2+1". Je pensais donc qu'il y possibilité de faire "interpréter" le contenu d'un textbox et que par exemple "Bonjour" & "Monsieur" devienne "Bonjour Monsieur" comme dans le code

Bonjour Ric, merci de ton retour, malheureusement, cette solution ne convient pas

Décidemment, soit c'est nous qui ne comprenons rien, soit c'est toi.

Avec Nom = StrConv(Sheets("Feuil1").Cells(Ligne, 1), vbProperCase), Ric va bien récupérer le le nom de la ligne voulue sans que l'utilisateur aille modifier le code...

eric

Edit : et si tu veux concatener avec le contenu d'un textbox et bien fais-le, rien ne t'en empêche

Re,

Et ce genre de code, je suppose que c'est également à côté de la plaque

S'il s'agit de remplacer des balises, rien de plus simple

Private Sub CommandButton1_Click()
  Dim OutApp As Object
  Dim OutMail As Object
  Dim sBody As String
  Set OutApp = CreateObject("Outlook.Application")
  Set OutMail = OutApp.CreateItem(0)
  For i = 0 To Me.ListBox1.ListCount - 1
    ligne = Sheets("Feuil1").Range("clients[NOM]").Find(What:=ListBox1.List(i, 0)).Row
    If Me.ListBox1.Selected(i) = True Then
      nom = Sheets("Feuil1").Cells(ligne, 1)
      prénom = Sheets("Feuil1").Cells(ligne, 2)
      mail = Sheets("Feuil1").Cells(ligne, 3)
      ' Tranformer le texte
      sBody = Replace(Me.TextBox1, "[Nom]", nom)
      sBody = Replace(sBody, "[prénom]", prénom)
      ' Créer le mail
      With OutMail
        .Display
        .To = mail
        .CC = ""
        .BCC = ""
        .Subject = "Essai"
        .HTMLBody = sBody
      End With
      Set OutMail = Nothing
      Set OutApp = Nothing
    End If
  Next i
End Sub

Mais de l'AI, Excel n'est pas prévu pour

Merci milles fois BrunoM45 c'est exactement ce que je voulais tu as tapé dans le 1000

Merci de ta patience et être revenu m'aider malgré mon mauvais départ.

eriiic : Je pense que c'est venu d'une mauvaise communication de ma part et du coup il a été difficile pour vous d'avoir tous le éléments. Avec la solution de Ric, le problème est que pour changer le texte du .body, mes collaborateurs auraient duent faire des modifications directement dans la Sub() ce que je ne veux absolument pas.

Merci encore à tous pour votre aide et notre patience en espérant que mon poste ne devienne pas un runing gag

Bonjour à tous,

Pour avoir une infobulle rappelant comment changer de ligne dans un TextBox...

J 'ajouterais dans " UserForm_Activate "

Me.TextBox1.ControlTipText = " CTRL + ENTRER pour changer de ligne. "

ric

Rechercher des sujets similaires à "interpretation textbox"