Prise de tête avec les ""

jeff1494

XLDnaute Occasionnel
Bonjour à tous;
Je viens vers vous car je me prends la tête avec les " dans des expressions.
Je vous explique mon problème :
Je dois formater une série de champs pour l'envoi d'un Email. Le contexte est le suivant.
Sur une feuille j'ai en A1 le mon de la personne, et en B1 son adresse Email.
Je dois formater le champ "From" de l'Email.
Je voudrais donc arriver à une forme comme celle qui suit, qui fonctionne dans ma macro.

.From = """Jeff"" <jeff@tutu.fr>"

Sachant que le .From ne me pose pas de soucis

Ou Jeff est le contenu de la cellule A1 et jeff@tutu.fr et dans la cellule B1.

Je ne me sors pas de la mise en forme avec le " et l'insertion des > et <.
Alors si quelqu'un peut m'aider.
D'avance merci pour votre temps et votre aide.
Bonne soirée à tous et A+.
 

jeff1494

XLDnaute Occasionnel
Re : Prise de tête avec les ""

Bonsoir 13GIBE59;
Merci pour ton aide.
J'ai un message d'erreur 13 "Incompatibilité de Type".
Voici le code que j'utilise :
Code:
    Dim Liste As String
    Dim Derligne As Integer
'Nouveau champ pour l'expéditeur. On récupère le nom du propriétaire, et son adresses Email.
    Dim Exped As String
    
        Sheets("Données").Activate
        
         Range([H2], [H65536].End(xlUp)).Select
         Derligne = Selection.Rows.Count
         Derligne = Derligne + 1
        For i = 2 To Derligne
            If i = 2 Then ' Attention 1èr remplissage pour éviter le ";" en tête de liste
             Liste = Sheets("Données").Cells(i, 8)
            Else
             Liste = Liste & "; " & Sheets("Données").Cells(i, 8)
            End If
        Next i
'   Ajout d'une chaine pour gérer l'email du proprio
    Exped = """&[A1].Value &" < " & [B1].Value &" > "&"
'   1) Ouverture du fichier membres.xls dervant de modèle pour le nouveau classeur docssmcbaammjj.xls
'       avec un seul onglet nommé "Documentations" dans le dossier SMCBDOCS du disque D
        ' Le fichier Version00.xls DOIT être dans le dossier SMCBDOCS/Membres
    Dim Rep As String
    Dim Fich As String
    Dim Lastlig As Integer

    
        Sheets("NOUVEAUX").Activate
        Range([A2], [A65536].End(xlUp)).Select
        Lastlig = Selection.Rows.Count
        Rep = ActiveWorkbook.Path
        Fich = ActiveWorkbook.Name
        Workbooks.Open (Rep & "\nvxfav.xls")
'
        Windows(Fich).Activate
        Range("A2:N" & Lastlig).Select
        Selection.Copy
        Windows("nvxfav.xls").Activate
        Range("A2").Select
        ActiveSheet.Paste

'   2) Renomage du classeur en "favoris_aammjj_hhmmss.xls"
'       avec un seul onglet nommé "Nouveaux-Favoris" dans le dossier du fichier Membres

        'On formate repertoire
        'repertoire = "D:\smcbdocs"
        'On formate le nom du fichier composé de : docssmcb + Date aammjj et Heure hhmmss
        nomfich = "favoris_" & Format(Date, "yymmdd") & "_" & Format(Time, "hhmmss") & ".xls"
        'On affecte un nom aux l'onglets
        ActiveSheet.Name = "Nouveaux_Favoris"

'
'   3) Sauvegarde du nouveau classeur sous son nom attribué en 1)
'
        'On Sauvegarde le classeur avec le nom formaté
        ActiveWorkbook.SaveAs Filename:=Rep & "\" & nomfich, FileFormat:=xlExcel8
        'On ferme le classeur  sans sauvegarde
        ActiveWorkbook.Saved = True
        ActiveWorkbook.Close
'
'   4) Appel de la procédure de préparation de l'Email, et envoi via Thunderbird
'
'

    Dim iMsg As Object
    Dim iConf As Object
    Dim strbody As String
    Dim Flds As Variant

    Set iMsg = CreateObject("CDO.Message")
    Set iConf = CreateObject("CDO.Configuration")

        iConf.Load -1    ' CDO Source Defaults
        Set Flds = iConf.Fields
        ' Configuration des valeurs pour l'envoi du mail
        With Flds
            .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") _
                           = "smtp.orange.fr"
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
            .Update
        End With

    strbody = "Salut Jeff ;" & vbNewLine & vbNewLine & _
              "Voici quelques favoris supplémentaires à intégrer dans la base." & vbNewLine & _
              "Sur ce bonne journée et A+."

    With iMsg
        Set .Configuration = iConf
        .To = Liste
        .CC = ""
        .BCC = ""
'        .From = """Jeff"" <jeff@tutu.fr>"
        .From = Exped
        .Subject = "Nouveaux favoris à intégrer"
        .TextBody = strbody
        .AddAttachment Rep & "\" & nomfich
        .Send
    End With
'
'   5) Remise en forme de la feuille NOUVEUAX d'origine

    'On sélectionne les cellules remplies et on efface le tout
        Sheets("NOUVEAUX").Range("A2:N" & Lastlig).ClearContents
Je ne sais plus comment m'y prendre.
En tout cas merci pour ton aide.
A+
 
Dernière édition:

jeff1494

XLDnaute Occasionnel
Re : Prise de tête avec les ""

Bonjour 13GIBE59;
Merci pour ton aide.

Mon problème est de remplacer le "jeff" et le "jeff@tutu.fr" par les valeurs qui proviennent de la cellule A1 d'une feuille nommée "Données" pour "Jeff" et par la valeur de la cellule B1 de la même feuille pour l'adresse "jeff@tutu.fr"

En fait dans le code que j'ai mis dans mon post précédent la première ligne .From est en commentaire, et la seconde ".From = exped" correspond à ma tenative de chargement.
Dans tous les cas merci de prendre de ton temps pour m'aider.
Désolé si il y a confusion dans ma demande.
Bonne journée.
 

job75

XLDnaute Barbatruc
Re : Prise de tête avec les ""

Bonjour jeff1494, Jean-Bernard, le forum,

Dans un texte entre guillemets, les guillemets sont doublés, et quand on les ouvre il faut les fermer :

Code:
.From = "[COLOR="Red"][SIZE="3"]""[/SIZE][/COLOR]" & [A1] & "[COLOR="Red"][SIZE="3"]""[/SIZE][/COLOR] <" & [B1] & ">"

A+
 
Dernière édition:

jeff1494

XLDnaute Occasionnel
Re : Prise de tête avec les ""

Bonjour Job75, le forum;
Je te remercie pour ton aide. Il semble que tout ce soit bien passé. Je n'ai pas encore reçu le mail, mais pas d'erreur lors de l'exécution. Donc bon signe.
C'est parait-il une question de logique que la gestion de ces " mais je n'y arrive pas.
Dans tous les cas je te remercie pour ton aide.

Par contre en regardant le code il y a une ligne ou l'on spécifie le serveur "smtp", dans mon cas Orange.
Mon problème est que le but de mon fichier est de permettre a des membres de mon club de me faire parvenir une liste de favoris Internet.
Comment puis-je récupérer la valeur de leurs serveur smtp? Si cela est possible.

Peut-être existe-t-il un moyen différent d'envoyer un mail en utilisant le logiciel de messagerie par défaut et donc ses paramètres.
As-tu une idée de comment faire?

Dans tous les cas merci, pour ton aide et ton temps.
Bonne journée et A+.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 207
Membres
103 157
dernier inscrit
youma