IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Intégrer un code "activecells" dans mon code déjà existant


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Juillet 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Espagne

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Juillet 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Intégrer un code "activecells" dans mon code déjà existant
    Bonjour à tous,

    Je dispose d'un code (ci dessous) qui marche très bien, pour envoyer un email avec l'onglet actif de mon document excel.

    Cependant, je souhaiterai créer un email pour chaque ligne dans une colonne choisie (jusqu' à la derniere ligne avec des données). Il faudrait donc un code "active cell" dans le ".To" de mon code ( si possible dans le corps du message par la même occasion).
    J'ai trouvé le code correspondant à cette macro, mais je n'arrive pas à l'intégrer dans le code déjà existant..

    Merci pour votre aide !!!!!!!

    Clément



    Voici le code pour envoyer l'onglet actif en pièce jointe:


    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    Sub Mail_ActiveSheet()
    ‘ Works in Excel 2000, Excel 2002, Excel 2003, Excel 2007, Excel 2010, Outlook 2000, Outlook 2002, Outlook 2003, Outlook 2007, Outlook 2010
    Dim FileExtStr As String
    Dim FileFormatNum As Long
    Dim Sourcewb As Workbook
    Dim Destwb As Workbook
    Dim TempFilePath As String
    Dim TempFileName As String
    Dim OutApp As Object
    Dim OutMail As Object
     
    With Application
    .ScreenUpdating = False
    .EnableEvents = False
    End With
     
    Set Sourcewb = ActiveWorkbook
     
    ‘ Next, copy the sheet to a new workbook.
    ‘ You can also use the following line, instead of using the ActiveSheet object,
    ‘ if you know the name of the sheet you want to mail :
    ‘ Sheets(“Sheet5″).Copy
    ActiveSheet.Copy
    Set Destwb = ActiveWorkbook
     
    ‘ Determine the Excel version, and file extension and format.
    With Destwb
    If Val(Application.Version) < 12 Then
    ' For Excel 2000-2003
    FileExtStr = ".xls": FileFormatNum = -4143
    Else
    ' For Excel 2007-2010, exit the subroutine if you answer
    ' NO in the security dialog that is displayed when you copy
    ' a sheet from an .xlsm file with macros disabled.
    If Sourcewb.Name = .Name Then
    With Application
    .ScreenUpdating = True
    .EnableEvents = True
    End With
    MsgBox "You answered NO in the security dialog."
    Exit Sub
    Else
    Select Case Sourcewb.FileFormat
    Case 51: FileExtStr = ".xlsx": FileFormatNum = 51
    Case 52:
    If .HasVBProject Then
    FileExtStr = ".xlsm": FileFormatNum = 52
    Else
    FileExtStr = ".xlsx": FileFormatNum = 51
    End If
    Case 56: FileExtStr = ".xls": FileFormatNum = 56
    Case Else: FileExtStr = ".xlsb": FileFormatNum = 50
    End Select
    End If
    End If
    End With
     
    ' You can use the following statements to change all cells in the
    ' worksheet to values.
    ' With Destwb.Sheets(1).UsedRange
    ' .Cells.Copy
    ' .Cells.PasteSpecial xlPasteValues
    ' .Cells(1).Select
    ' End With
    ' Application.CutCopyMode = False
     
    ' Save the new workbook, mail, and then delete it.
    TempFilePath = Environ$("temp") & "\"
    TempFileName = " " & Sourcewb.Name & " " _
    & Format(Now, "dd-mmm-yy")
     
    Set OutApp = CreateObject("Outlook.Application")
     
    Set OutMail = OutApp.CreateItem(0)
     
    With Destwb
    .SaveAs TempFilePath & TempFileName & FileExtStr, _
    FileFormat:=FileFormatNum
    On Error Resume Next
    ' Change the mail address and subject in the macro before
    ' running the procedure.
    With OutMail
    .To = "XXXXX@YYY.com"
    .CC = ""
    .BCC = ""
    .Subject = "This is the Subject line"
    .Body = "Hello World!"
    .Attachments.Add Destwb.FullName
    ' You can add other files by uncommenting the following statement.
    '.Attachments.Add ("C:\test.txt")
    ' In place of the following statement, you can use ".Display" to
    ' display the mail.
    .Display
    End With
    On Error GoTo 0
    .Close SaveChanges:=False
    End With
     
    ' Delete the file after sending.
    Kill TempFilePath & TempFileName & FileExtStr
     
    Set OutMail = Nothing
    Set OutApp = Nothing
     
    With Application
    .ScreenUpdating = True
    .EnableEvents = True
    End With
     
    End Sub

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 127
    Points : 9 956
    Points
    9 956
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    tu parles d'une colonne, mais ensuite tu veux remplir le champs "to" et le champs "body"
    de plus, tu n'indiques pas ce qu'on doit mettre dans l'objet

    partons du principe :

    - les données sont dans la feuille "Feuil1"
    - elles commencent en ligne 1, et il n'y a pas de ligne vide dans ta plage
    - les adresses sont en colonne A
    - les Objets sont en colonne B
    - les Corps de mails sont en colonne C

    ça devrait ressembler grosso modo à ça (j'ai supprimé les lignes de codes inutiles pour mon exemple) :

    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
    36
    37
    Sub Mail_ActiveSheet()
     
    Dim Destwb As Workbook
    Dim OutApp As Object
    Dim OutMail As Object
    Dim TabDonnees
    Dim i As Long
     
    Set OutApp = CreateObject("Outlook.Application")
     
    With Destwb
        ' on met les données dans un tableau     ( colonne A à C  = 3)
        With .Worksheets("Feuil1")
            TabDonnees = .Cells(1, 1).Resize(.UsedRange.Rows.Count, 3)
        End With
     
        ' on boucle sur chaque ligne du tableau
        For i = LBound(TabDonnees, 1) To UBound(TabDonnees, 1)
     
            ' instanciation d'un nouveau mail
            Set OutMail = OutApp.CreateItem(0)
     
            With OutMail
                .To = TabDonnees(i, 1)
                .Subject = TabDonnees(i, 2)
                .Body = TabDonnees(i, 3)
                .Display
            End With
     
            Set OutMail = Nothing
        Next i
    End With
     
    Set OutMail = Nothing
    Set OutApp = Nothing
     
    End Sub

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Juillet 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Espagne

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Juillet 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Le code ne fonctionne pas ... "object variable or With a block variable not set"..

    En fait je souhaite juste ajouter un code dans le code que j'ai posté un peu plus haut, pour remplir les informations (to, cc, body ), selon des cellules:

    Le destinataire en A, le CC en B, et le body en C.

    Et il faudrait que cela se repete en fonction des lignes du tableau :

    A B C
    Clement Jaques Bonjour..
    Pierre Paul Bonsoir

    Le premier mail ferait donc

    To: Clement
    Cc : Jacques
    Body: Bonjour


    le second mail:

    To: Pierre
    Cc: Paul
    Body : Bonsoir


    Et cela ce que la colonne A ne trouve plus de données.. (en attachant toujours la même piece jointe par contre, l'onglet actif de l'excel)



    Je sais pas si ca te donne plus de précision..


    Merci beaucoup pour ton aide en tout cas !


    Clément

  4. #4
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 127
    Points : 9 956
    Points
    9 956
    Billets dans le blog
    5
    Par défaut
    J'ai simplement repris ton squelette pour présenter ma proposition

    dans mon exemple, ta variable Destwb n'est pas instanciée

    l'as-tu fait avant de réaliser tes tests ?


    sinon, ma proposition était pas très loin de ton souhait (3 colonnes ... juste un champs du mail qui est différent)


    essaye donc ça, j'ai juste incorporé ma proposition à ton code ... je n'ai rien touché pour ton attachments ainsi que le reste de tes actions

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    Sub Mail_ActiveSheet()
     
    ' Works in Excel 2000, Excel 2002, Excel 2003, Excel 2007, Excel 2010, Outlook 2000, Outlook 2002, Outlook 2003, Outlook 2007, Outlook 2010
    Dim FileExtStr As String
    Dim FileFormatNum As Long
    Dim Sourcewb As Workbook
    Dim Destwb As Workbook
    Dim TempFilePath As String
    Dim TempFileName As String
    Dim OutApp As Object
    Dim OutMail As Object
    Dim TabDonnees
    Dim i As Long
     
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With
     
    Set Sourcewb = ActiveWorkbook
     
    ' Next, copy the sheet to a new workbook.
    ' You can also use the following line, instead of using the ActiveSheet object,
    ' if you know the name of the sheet you want to mail :
    ' Sheets(“Sheet5?).Copy
    ActiveSheet.Copy
    Set Destwb = ActiveWorkbook
     
    ' Determine the Excel version, and file extension and format.
    With Destwb
        If Val(Application.Version) < 12 Then
        ' For Excel 2000-2003
            FileExtStr = ".xls": FileFormatNum = -4143
        Else
        ' For Excel 2007-2010, exit the subroutine if you answer
        ' NO in the security dialog that is displayed when you copy
        ' a sheet from an .xlsm file with macros disabled.
            If Sourcewb.Name = .Name Then
                With Application
                    .ScreenUpdating = True
                    .EnableEvents = True
                End With
                MsgBox "You answered NO in the security dialog."
                Exit Sub
            Else
     
                Select Case Sourcewb.FileFormat
                    Case 51: FileExtStr = ".xlsx": FileFormatNum = 51
                    Case 52:
                        If .HasVBProject Then
                            FileExtStr = ".xlsm": FileFormatNum = 52
                        Else
                            FileExtStr = ".xlsx": FileFormatNum = 51
                        End If
                    Case 56: FileExtStr = ".xls": FileFormatNum = 56
                    Case Else: FileExtStr = ".xlsb": FileFormatNum = 50
                End Select
            End If
        End If
    End With
     
    ' You can use the following statements to change all cells in the
    ' worksheet to values.
    ' With Destwb.Sheets(1).UsedRange
    ' .Cells.Copy
    ' .Cells.PasteSpecial xlPasteValues
    ' .Cells(1).Select
    ' End With
    ' Application.CutCopyMode = False
     
    ' Save the new workbook, mail, and then delete it.
    TempFilePath = Environ$("temp") & "\"
    TempFileName = " " & Sourcewb.Name & " " _
    & Format(Now, "dd-mmm-yy")
     
    Set OutApp = CreateObject("Outlook.Application")
     
    With Destwb
        .SaveAs TempFilePath & TempFileName & FileExtStr, _
        FileFormat:=FileFormatNum
     
        ' on met les données dans un tableau     ( colonne A à C  = 3)
        With .Worksheets("Feuil1")
            TabDonnees = .Cells(1, 1).Resize(.UsedRange.Rows.Count, 3)
        End With
     
        On Error Resume Next
     
        ' on boucle sur chaque ligne du tableau
        For i = LBound(TabDonnees, 1) To UBound(TabDonnees, 1)
            Set OutMail = OutApp.CreateItem(0)
            ' Change the mail address and subject in the macro before
            ' running the procedure.
            With OutMail
                .To = TabDonnees(i, 1)
                .CC = TabDonnees(i, 2)
                .BCC = ""
                .Subject = "This is the Subject line"
                .Body = TabDonnees(i, 3)
                .Attachments.Add Destwb.FullName
                ' You can add other files by uncommenting the following statement.
                '.Attachments.Add ("C:\test.txt")
                ' In place of the following statement, you can use ".Display" to
                ' display the mail.
                .Display
            End With
     
            Set OutMail = Nothing
     
            On Error GoTo 0
            .Close SaveChanges:=False
    End With
     
    ' Delete the file after sending.
    Kill TempFilePath & TempFileName & FileExtStr
     
    Set OutApp = Nothing
     
    With Application
        .ScreenUpdating = True
        .EnableEvents = True
    End With
     
    End Sub
    Tu dois simplement modifier la ligne 83 où je parles de la feuille "Feuil1", pour indiquer la tienne (chose que je n'ai pas retrouvé dans ton code initial)

  5. #5
    Nouveau Candidat au Club
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Juillet 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Espagne

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Juillet 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Le code ne marche pas:

    Le "End With" ligne 112 ne marche pas (je pense qu'il est rattaché au With de la ligne 78 mais visiblement ca ne marche pas).

    Je l'ai supprimé pour voir, et essayer de lancer la macro .. second message d'erreur:

    Le "For" ligne 90 demande un "next" ..

    Peux tu regarder ces deux points?

    Au sujet de la "feuille à envoyer", elle n'a pas de nom car c'est la feuille active qui s'envoie grace à la macro.

    Si je vais sur l'onglet de travail A, c'est celui que j'envoie, si je vais sur le B, j'envoie l'onglet B.. il n'y a donc pas de nom mis à part "active workbook"



    Merci pour ton aide

  6. #6
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 906
    Points : 8 539
    Points
    8 539
    Par défaut
    Salut Clémence

    La question est pas des masses claire. Merci de penser au balise code pour que le code soit lisible dans le message.

    Peut-être comme ça, en supposant que les adresses de destination en CC et BCC soient dans les cellules D3 et D4 de la feuille courante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    .CC = DestWb.range("D3").value
    .BCC = Destwb.range("D4").value
    ++
    Qwaz

  7. #7
    Nouveau Candidat au Club
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Juillet 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Espagne

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Juillet 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Merci beaucoup pour vos réponses mais

    J'ai eu une réponse très prometteuse sur un autre forum, mais il manque un dernier détail pour finaliser la macro.

    Dans le code ci-dessous, le nombre de destinataires est fixe (10 dans ce cas la), et je voudrais qu'il soit variable : il y a des semaines avec 10 destinataires, puis 50 puis 20 puis 250 etc ... Il faudrait donc une condition "si la cellule est pleine" de manière à envoyer un email QUAND un destinataire est présent dans la cellule.


    J'en profite pour vous demander si vous auriez une astuce pour conserver une "Mise en forme" particulière d'un text dans une cellule Excel (gras, retour à la ligne etc ), lorsqu'on la copie dans une autre cellule via une formule ou la macro ?

    J'aimerai envoyer un text en GRAS dans l 'email envoyé mais les cellules copiées ne conserve que le text et non la mise en forme de celui-ci..

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     Sub mail()
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With
     
    Dim FileExtStr As String
    Dim FileFormatNum As Long
    Dim Sourcewb As Workbook
    Dim destwb As Workbook
    Dim TempFilePath As String
    Dim TempFileName As String
    Dim OutApp As Object
    Dim OutMail As Object
     
    For a = 1 To 10 'valeur à définir en fonction du nombre de destinataire
     
    Set Sourcewb = ActiveWorkbook
     
    ActiveSheet.Copy
    Set destwb = ActiveWorkbook
     
    With destwb
     
        If Val(Application.Version) < 12 Then
            FileExtStr = ".xls": FileFormatNum = -4143
        Else
            Select Case Sourcewb.FileFormat
            Case 51: FileExtStr = ".xlsx": FileFormatNum = 51
            Case 52:
                If .HasVBProject Then
                    FileExtStr = ".xlsm": FileFormatNum = 52
                Else
                    FileExtStr = ".xlsx": FileFormatNum = 51
                End If
            Case 56: FileExtStr = ".xls": FileFormatNum = 56
            End Select
        End If
    End With
     
            Application.DisplayAlerts = False
     
    TempFilePath = Environ$("temp") & "\"
    TempFileName = ActiveSheet.Name
     
    Set OutApp = CreateObject("outlook.application")
    Set OutMail = OutApp.CreateItem(0)
     
    With destwb
        .SaveAs TempFilePath & TempFileName & FileExtStr, FileFormat:=FileFormatNum
        On Error Resume Next
        With OutMail
            .To = Range("B" & a).Value
            .CC = ""
            .BCC = ""
            .Subject = "Sujet"
            .body = Range("C" & a).Value
            .Attachments.Add destwb.FullName
            .display 'ou .send pour un envoi auto
     
        End With
        On Error GoTo 0
        .Close savechanges:=False
    End With
     
    Kill TempFilePath & TempFileName & FileExtStr
     
    Set OutMail = Nothing
    Set OutApp = Nothing
     
    Next a
     
    With Application
        .ScreenUpdating = True
        .EnableEvents = True
        End With
     
    End Sub

  8. #8
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 127
    Points : 9 956
    Points
    9 956
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par clemgdd Voir le message
    Bonjour,

    Le code ne marche pas:

    Le "End With" ligne 112 ne marche pas (je pense qu'il est rattaché au With de la ligne 78 mais visiblement ca ne marche pas).

    Je l'ai supprimé pour voir, et essayer de lancer la macro .. second message d'erreur:

    Le "For" ligne 90 demande un "next" ..

    Peux tu regarder ces deux points?

    Au sujet de la "feuille à envoyer", elle n'a pas de nom car c'est la feuille active qui s'envoie grace à la macro.

    Si je vais sur l'onglet de travail A, c'est celui que j'envoie, si je vais sur le B, j'envoie l'onglet B.. il n'y a donc pas de nom mis à part "active workbook"



    Merci pour ton aide

    Bonjour,

    désolé d'être passé à côté de ta réponse

    pour information, il manque le Next i à placer entre la ligne 111 et 112 pour fermer ta boucle For i .... raison pour laquelle la macro plante lors de la fermeture du bloc With

    pour la suite de ton fil, je regarde et posterai une nouvelle réponse si je peux t'aider

  9. #9
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 127
    Points : 9 956
    Points
    9 956
    Billets dans le blog
    5
    Par défaut
    Je double post volontairement pour ne pas mélanger tes codes

    tu souhaites remplir les destinataires situés en colonne B
    le premier est en B1, et les autres sont à la suite (B2,B3 etc...)

    pour gérer dynamiquement les destinataires, modifies ta boucle en ligne 16 comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For a = 1 to Range("B1").End(xlDown).Row
    c'est pas le plus joli, mais c'est le plus simple pour adapter ton code


    pour la mise en gras de la valeur de ta cellule, tu peux passer par le HTLMBody au lieu de Body, en insérant la balise HTML adéquate

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .HTMLbody = "<b>" &  Range("C" & a).Value & "</b>"

  10. #10
    Nouveau Candidat au Club
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Juillet 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Espagne

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Juillet 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    hum pardon je me suis mal exprimé, c'est pas aussi simple pour le text :

    il faut que j'arrive a copier un text de ce format la :

    "Bonjour Pierre,

    Peux tu répondre à ce message maintenant.

    Merci"


    Le texte à ce format la sur un onglet annexe, et je voudrais le mettre dans mon onglet final avec une formule IF (j'ai plusieurs mail type selon certaines conditions), puis l'envoyer tel quel via la macro pour qu'il soit écrit avec la bonne mise en forme dans mon email (de la couleur et du gras sur certains mots) !

    Pensez vous que ca soit possible ?

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/03/2010, 21h56
  2. Réponses: 11
    Dernier message: 01/08/2008, 11h40
  3. [langage] algo de bissection dans mon code
    Par killy dans le forum Langage
    Réponses: 5
    Dernier message: 19/01/2004, 18h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo