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

VBA Access Discussion :

Screenshot partie de formulaire à envoyer par mail [AC-2016]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2019
    Messages : 36
    Points : 14
    Points
    14
    Par défaut Screenshot partie de formulaire à envoyer par mail
    Bonjour!

    Cela fait plusieurs jours que je sillonne les méandres d'Internet à la recherche d'une solution mais n'en ai pas trouvé qui corresponde à ma problématique et n'ai pas su les adapter.
    Je fais donc appel à vous!
    (me suis un peu sentie l'âme d'un poète )

    Par clic sur un bouton dans mon sous formulaire chiffrage, je souhaite faire une capture d'écran d'une partie de mon formulaire au moment du clic puis l'intégrer à un mail sans avoir à l'enregistrer sur le PC.
    Je suppose qu'il faut stocker l'image dans une variable puis l'appeler dans le corps de ma fonction mail (qui fonctionne là n'est pas le souci).
    Le problème c'est que je n'ai aucune idée de comment coder "faire la capture d'écran de telle partie du formulaire".

    Voici un screen de la structure de mon formulaire avec la partie à capturer encadrée en orange :
    Nom : frm principal.PNG
Affichages : 1072
Taille : 51,4 Ko

    Il faudrait que cette partie encadrée soit intégrée telle qu'elle dans le mail ou si pas possible de faire une simple capture d'écran faire quelque chose qui se présente sous la même forme.

    Si quelqu'un a une solution ou des pistes ce serait super!
    Merci d'avance

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Pourquoi procéder par une capture d'écran ? Pour la mise en forme ?

    Sinon il sera sans doute plus facile et plus sur de "redessiner" ta saisie dans le courriel.
    Avec un courriel au format HTML cela ne devrait pas être trop difficile.
    Ce ne sera sans doute pas identique mais assez proche.

    Sinon faire une copie d'écran peut se faire envoyant un SendKey.
    Cela va copier l'écran de presse papier.

    Et il y a des librairies pour manipuler les images, je ne sais pas comment les utiliser sans passer par un fichier.
    Il y a de bons articles sur cela fait par Arkham46 sur ce site (fait une recherche Google sur "VBA GTI+ Arkham46 Developpez.net" car je ne peux pas coller le lien actuellement).

    Mais sincèrement un courriel en HTML c'est BEAUCOUP plus simple à créer. C'est juste des balises en texte à placer au bon endroit.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2019
    Messages : 36
    Points : 14
    Points
    14
    Par défaut
    Bonjour marot_r

    Pourquoi procéder par une capture d'écran ? Pour la mise en forme ?
    Entre autres oui. Je pensais que ce serait plus simple que de devoir retranscrire (je sais pas trop comment) le contenu de chaque case, refaire une mise en page etc.

    Pour ce qui est du HTML je préfère éviter, je n'en ai jamais fait et n'ai malheureusement pas le temps de me plonger dans un nouveau langage avant la fin de mon stage (j'ai déjà dû apprendre à me servir de VBA et Access seule et de 0 en quelques semaines ).

    Que veux tu dire par :
    Sinon faire une copie d'écran peut se faire envoyant un SendKey.
    C'est une instruction dans VBA?

  4. #4
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2019
    Messages : 36
    Points : 14
    Points
    14
    Par défaut
    J'ai regardé pour SendKey.
    Si j'ai bien compris, il s'agit d'une application qui permet de faire comme si l'utilisateur avait appuyé sur une touche donc en l'occurrence la touche "impr écran syst".
    Seul problème c'est que peut être l'utilisateur aura décalé le formulaire sur son écran ou caché par quelque chose donc si je fais une capture d'écran et que je la crop aux bonnes dimensions mais sans prendre en considération ces éventualités, je me retrouverai avec une image qui n'affiche pas ce que je veux...
    Ducoup pas bon. Je ne veux pas faire une simple capture de l'écran en général mais juste du formulaire au moins je serai sure que les éléments se trouvent toujours au même endroit (enfin je crois).

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    VBA n'est pas très bon pour inter agir avec le matériel.
    Il va sans doute falloir passer par les API de Windows et même moi qui a presque 30 ans de programmation derrière moi j'évite cela comme la peste.
    Avec une copie d'écran "du formulaire" il va falloir trouver le formulaire, faire la copie seulement de la portion voulu, espéré que la résolution est bien celle attendue ... bref c'est relativement facile à la main, une vraie galère de programmation.

    Pour le HTML dont tu as besoin, il est assez rudimentaire et HTML est bien plus simple que VBA, c'est un langage où tu décris ce que tu veux par exemple pour un tableau tu vas mettre :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <table>
      <tr>
        <th>Month</th>
        <th>Savings</th>
      </tr>
      <tr>
        <td>January</td>
        <td>$100</td>
      </tr>
    </table>

    Cela va te faire un tableau à 2 colonnes avec une entête en ligne le mois et le montant associé.

    Ici un très bon site pour cela :

    https://www.w3schools.com/html/
    https://www.w3schools.com/tags/default.asp

    Et Google est aussi ton grand ami pour cela.

    Pour reconstituer cela à partir de ton formulaire, il te suffit de "lire" les contrôles du formulaires.

    Cela pourrait ressembler à cela (pas testé donc à valider la syntaxe HTML) :

    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
    dim tableauHTML as string
    tableauHTML = tableauHTML & "<table>"
    tableauHTML = tableauHTML & vbNewline & "  <tr>"
    tableauHTML = tableauHTML & vbNewline & "    <th>Livrable</th>"
    tableauHTML = tableauHTML & vbNewline & "    <th></th>" 'il y a moyen que l'entête s'étende sur toutes les colonnes et de préciser la largeur des colonnes.
    tableauHTML = tableauHTML & vbNewline & "  </tr>"
     
    tableauHTML = tableauHTML & vbNewline & "  <tr>"
     
    if me.CAC_AvantPorjet=true then
          tableauHTML = tableauHTML & vbNewline & "    <td><input type=""checkbox"" checked></td>" 'Case cochée
       else
          tableauHTML = tableauHTML & vbNewline & "    <td><input type=""checkbox""></td>" 'Case non cochée
    end if
     
    tableauHTML = tableauHTML & vbNewline & "    <td>Avant projet</td>"
    tableauHTML = tableauHTML & vbNewline & "  </tr>"
    'ici du code pour les autres choix.
     
    tableauHTML = tableauHTML & vbNewline & "</table> "
    Après tu peux mettre tableauHTML dans le message.

    Attention quand tu crées le courriel il faut préciser que c'est en format HTML (il y aune FAQ sur cela sur le site) sinon tu vas avoir du texte brut avec les balises et tout et tout.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  6. #6
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2019
    Messages : 36
    Points : 14
    Points
    14
    Par défaut
    Rebonjour,

    Ah oui quand même je vais donc suivre ton conseil (30 ans de programmation VS hier ça ne se discute pas ).
    Je vais étudier tout ça demain ou à défaut de temps ce week-end et vais donc probablement te reposer des questions sur le HTML une fois fait si ça ne te dérange pas (je doute que ça marche du premier coup).

    Attention quand tu crées le courriel il faut préciser que c'est en format HTML (il y aune FAQ sur cela sur le site) sinon tu vas avoir du texte brut avec les balises et tout et tout.
    A priori le code pour l'envoi de mails que j'ai récupéré gère déjà ça.
    On verra bien ce que ça donne.

    Merci beaucoup et probablement à bientôt

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    30 ans de programmation VS hier ça ne se discute pas
    Si si on peut en discuter :-) mais là c'est vraiment compliqué les API de Windows et très mal documenté.
    Il faut à la fois bien connaître Windows et savoir quoi appeler avec quels paramètres.
    Ça peut apporter des solutions TRÈS performantes donc c'est à considérer ... en dernier recours :-).

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  8. #8
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2019
    Messages : 36
    Points : 14
    Points
    14
    Par défaut
    Bonjour!

    C'était de l'humour
    Mais je me doute que c'est plus compliqué vu le manque d'infos justement la plupart de mes recherches m'ont menée sur des forums où des gens demandaient il y a quelques années comment utiliser la touche impr. écr. ou l'outil capture de Windows
    A mon niveau j'ai bien conscience que je ne vais pas pouvoir creuser plus cette piste faute de temps et l'informatique n'a qu'une part minime dans mon cursus
    Celui qui développera ça deviendra un héros


    Revenons à nos moutons.
    Le site que tu m'as passé est nickel. Je ne pensais pas que le principe de base du HTML était aussi simple
    Merci!!

    J'ai réécrit le corps de mon mail en HTML et vérifié que ça fonctionnait bien bien dans le "tryit editor" puis adapté en VBA avec ce que tu avais proposé (retours à la ligne systématiques retirés car ça marchait dans l'éditeur sans revenir à la ligne à chaque fois et c'est plus court de le retranscrire comme ça en VBA).
    Il y a des erreurs. Visiblement, il ne comprend pas les instructions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <table style="width:50%">"       'et'      type="checkbox"
    Il affiche : "erreur de compilation : attendu : fin d'instruction".
    Cela semble être dû aux ", il considère qu'ils se referment et ne sont pas inclus dans les autres.
    Quand je retire les " autour de checkbox ou mets "" au début et à la fin de la zone de texte supposée, il affiche : "erreur de compilation : attendu : expression" en surlignant les / et les =.
    Je n'ai aucune idée de comment contourner ces problèmes.

    Voici le code complet sur VBA :

    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
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    'Envoi mail consultation
     
        Dim sujetMailSST As String
        Dim bodyMailSST As String
     
        If IsNull(N°_Avis) Then
            MsgBox "Le champ N°Avis est vide.", vbOKOnly, "Envoi en chiffrage"
        Else
     
            'Mail consultation SST
            sujetMailSST = "DEMANDE DE CHIFFRAGE N°" & N°_Avis
     
            'Body mail HTML-----------------------------------
     
            ' Tableau livrables Conception
            tbl_livrablesHTML = "<h3>Livrables</h3> <h4>Conception</h4> <table style="width:50%">"
            ' Case Avant projet
            If Me.Parent.Avant_Projet.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox"></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Avant projet</td></tr>"
     
            ' Case Etudes 3D
            If Me.Parent.Etudes_3D.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox"></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Etudes 3D</td></tr>"
     
            ' Case Etudes 2D
            If Me.Parent.Etudes_2D.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox"></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Etudes 2D</td></tr>"
     
            ' Case Note de calcul
            If Me.Parent.Note_de_calcul.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox"></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Note de calcul</td></tr>"
     
            ' Case Notice d'utilisation
            If Me.Parent.Notice_d_utilisation.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox"></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Notice d'utilisation</td></tr>"
     
            ' Fin tableau livrables conception
            tbl_livrablesHTML = tbl_livrablesHTML & "</table>"
     
            '-------------------------------
            ' Tableau livrables Réalisation
            tbl_livrablesHTML = " <h4>Réalisation</h4> <table style="width:50%">"
            ' Case Fabrication
            If Me.Parent.Fabrication.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox"></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Fabrication</td></tr>"
     
            ' Case Certificat matière
            If Me.Parent.Certificat_matière.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox"></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Certificat matière</td></tr>"
     
            ' Case Certificat de traitement matière
            If Me.Parent.Certificat_de_traitement_matière.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox"></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Certificat de traitement matière</td></tr>"
     
            ' Case Installation/Montage
            If Me.Parent.Installation_Montage.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox"></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Installation/Montage</td></tr>"
     
            ' Case Rapport de mesure (pièces unitaires)
            If Me.Parent.Rapport_de_mesure__pièces_unitaires_.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox"></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Rapport de mesure (pièces unitaires)</td></tr>"
     
            ' Case Rapport de mesure (outil monté)
            If Me.Parent.Rapport_de_mesure__outil_monté_.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox"></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Rapport de mesure (outil monté)</td></tr>"
     
            ' Case Rapport de mesure LASER
            If Me.Parent.Rapport_de_mesure_LASER.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox"></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Rapport de mesure LASER</td></tr>"
     
            ' Case Essai en charge
            If Me.Parent.Essai_en_charge.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox"></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Essai en charge</td></tr>"
     
            ' Fin tableau livrables réalisation
            tbl_livrablesHTML = tbl_livrablesHTML & "</table>"
     
            '-------------------------------
            ' Tableau livrables Déclaration
            tbl_livrablesHTML = " <h4>Déclaration</h4> <table style="width:50%">"
            ' Case Déclaration de conformité
            If Me.Parent.Déclaration_de_conformité.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox"></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Déclaration de conformité</td></tr>"
     
            ' Case Déclaration CE
            If Me.Parent.Déclaration_CE.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type="checkbox"></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Déclaration_CE</td></tr>"
     
             ' Fin tableau livrables Déclaration
            tbl_livrablesHTML = tbl_livrablesHTML & "</table>"
     
            bodyMailSST = "<head><style>table, th, td {border: 1px solid black;}</style></head><body><h1>DEMANDE DE CHIFFRAGE</h1> <p> <li>N°Avis : " & N°_Avis
            bodyMailSST = bodyMailSST & "</li> <li>Date de la demande : " & Date_envoi_consultation & "</li> </p> <p> Madame, Monsieur, </p> <p> <li>Voici une demande de chiffrage concernant : "
            bodyMailSST = bodyMailSST & Me.Parent.Nom_OT.Value & "</li> <li>Outil N° : " & Me.Parent.N°_OT.Value & "</li> <li>Demandé par : STELIA</li> <li>Contact STELIA : "
            bodyMailSST = bodyMailSST & Me.Parent.Contact_client.Column(1) & " " & Me.Parent.Contact_client.Column(2) & "</li> <li>Date limite de retour de consultation : "
            bodyMailSST = bodyMailSST & Date_réponse_limite_SST & "</li> </p>" & tbl_livrablesHTML & "<p> <li>Lien de téléchargement des documents associés : "
            bodyMailSST = bodyMailSST & Lien_téléchargement_données & "</li> <li>Remarque : " & Rq_mail_SST & "</li> </p> <p> Cordialement, </p> </body>"
     
            EnvoyerEmail sujetMailSST, SST_1.Column(1), SST_2.Column(1), SST_3.Column(1), SST_4.Column(1), SST_5.Column(1), SST_6.Column(1), SST_7.Column(1), SST_8.Column(1), SST_9.Column(1), SST_10.Column(1), bodyMailSST
        End If
     
    'Affecte la date du click sur le bonton à date envoi en consultation
    Date_envoi_consultation = Now()
     
    End Sub
    Le code de base en HTML dans le "tryit editor" :
    Code HTML : 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
    <!DOCTYPE html>
    <html>
    <head>
    <style>
    table, th, td {
      border: 1px solid black;
    }
    </style>
    </head>
    <body>
     
    <h1>DEMANDE DE CHIFFRAGE</h1>
     
    <p>
    	<li>N°Avis : & N°_Avis</li>
    	<li>Date de la demande : & Date_envoi_consultation</li>
    </p>
    <p> Madame, Monsieur, </p>
    <p>
    	<li>Voici une demande de chiffrage concernant : " & Me.Parent.Nom_OT.Value</li>
    	<li>Outil N° : " & Me.Parent.N°_OT.Value</li>
    	<li>Demandé par : STELIA</li>    
     	<li>Contact STELIA : " & Me.Parent.Contact_client.Column(1) & " " & Me.Parent.Contact_client.Column(2)</li>   
    	<li>Date limite de retour de consultation : " & Date_réponse_limite_SST</li>     
    </p>
     
    <h3>Livrables</h3>
     
    <h4>Conception</h4> 
    <table style="width:50%">
      <tr>	<td><input type="checkbox" checked></td>	<td>Avant projet</td>	</tr>
      <tr>	<td><input type="checkbox" checked></td>	<td>Etudes 3D</td>	</tr>
      <tr>	<td><input type="checkbox" checked></td>	<td>Etudes 2D</td>	</tr>
      <tr>	<td><input type="checkbox" checked></td>	<td>Note de calcul</td>	</tr>  
      <tr>	<td><input type="checkbox" checked></td>	<td>Notice d'utilisation</td>	</tr>  
     
    </table>
     
    <h4>Réalisation</h4> 
    <table style="width:100%">
      <tr>	<td><input type="checkbox" checked></td>	<td>Fabrication</td>	</tr>
      <tr>	<td><input type="checkbox" checked></td>	<td>Certificat matière</td>	</tr>
      <tr>	<td><input type="checkbox" checked></td>	<td>Certificat de traitement matière</td>	</tr>
      <tr>	<td><input type="checkbox" checked></td>	<td>Installation/Montage</td>	</tr>  
      <tr>	<td><input type="checkbox" checked></td>	<td>Rapport de mesure (pièces unitaires)</td>	</tr> 
      <tr>	<td><input type="checkbox" checked></td>	<td>Rapport de mesure (outil monté)</td>	</tr>
      <tr>	<td><input type="checkbox" checked></td>	<td>Rapport de mesure LASER</td>	</tr> 
      <tr>	<td><input type="checkbox" checked></td>	<td>Essai en charge</td>	</tr> 
    </table>
     
    <h4>Déclaration</h4> 
    <table style="width:70%">
      <tr>	<td><input type="checkbox" checked></td>	<td>Déclaration de conformité</td>	</tr>
      <tr>	<td><input type="checkbox" checked></td>	<td>Déclaration CE</td>	</tr>  
    </table>
     
    <p>
    	<li>Lien de téléchargement des documents associés :" & Lien_téléchargement_données</li>
    	<li>Remarque : " & Rq_mail_SST</li>
    </p>
    <p> Cordialement, </p>
     
     
     
    </html>

    Voici aussi la fonction EnvoyerMail où j'ai le choix de mettre le body du mail en texte ou HTML :
    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
    Sub EnvoyerEmail(ByVal Sujet As String, ByVal Destinataire1 As String, ByVal Destinataire2 As String, ByVal Destinataire3 As String, ByVal Destinataire4 As String, ByVal Destinataire5 As String, ByVal Destinataire6 As String, ByVal Destinataire7 As String, ByVal Destinataire8 As String, ByVal Destinataire9 As String, ByVal Destinataire10 As String, ByVal ContenuEmail As String, Optional ByVal PieceJointe As String)
    'par Excel-Malin.com ( https://excel-malin.com )
     
    On Error GoTo EnvoyerEmailErreur
     
    'définition des variables
    Dim oOutlook As Outlook.Application
    Dim WasOutlookOpen As Boolean
    Dim oMailItem As Outlook.MailItem
    Dim Body As Variant
     
    Body = ContenuEmail
     
        'vérification si le Contenu du mail n'est pas vide. Si oui, email n'est pas envoyé. Si vous voulez pouvoir envoyer les email vides, mettez en commentaire les 4 lignes de code qui suivent.
        If (Body = False) Then
            MsgBox "Mail non envoyé car vide", vbOKOnly, "Message"
            Exit Sub
        End If
     
        'préparer Outlook
        PreparerOutlook oOutlook
        Set oMailItem = oOutlook.CreateItem(0)
     
        'création de l'email
        With oMailItem
            .BCC = Destinataire1 & ";" & Destinataire2 & ";" & Destinataire3 & ";" & Destinataire4 & ";" & Destinataire5 & ";" & Destinataire6 & ";" & Destinataire7 & ";" & Destinataire8 & ";" & Destinataire9 & ";" & Destinataire10
            .Subject = Sujet
     
            'CHOIX DU FORMAT
            '----------------------
            'email formaté comme texte
                '.BodyFormat = olFormatRichText
                '.Body = Body
     
                'OU
     
            'email formaté comme HTML
                .BodyFormat = olFormatHTML
                .HTMLBody = "<html>" & Body & "</html>"
           '----------------------
     
           If PieceJointe <> "" Then .Attachments.Add PieceJointe
     
           .Display   '<- affiche l'email (si vous ne voulez pas l'afficher, mettez cette ligne en commentaire)
           '.Save      '<- sauvegarde l'email avant l'envoi (pour ne pas le sauvegarder, mettez cette ligne en commentaire)
           '.Send      '<- envoie l'email (si vous voulez seulement préparer l'email et l'envoyer manuellement, mettez cette ligne en commentaire)
        End With
     
        'nettoyage...
        If (Not (oMailItem Is Nothing)) Then Set oMailItem = Nothing
        If (Not (oOutlook Is Nothing)) Then Set oOutlook = Nothing
     
        Exit Sub
     
    EnvoyerEmailErreur:
        If (Not (oMailItem Is Nothing)) Then Set oMailItem = Nothing
        If (Not (oOutlook Is Nothing)) Then Set oOutlook = Nothing
     
        MsgBox "Le mail n'a pas pu être envoyé...", vbCritical, "Erreur"
    End Sub

  9. #9
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Désolé j'ai oublié (je vais corriger le code dans mon message) mais quand tu mets un guillemet dans une chaîne, il faut le doubler.
    Donc il faut mettre type=""Checkbox"".
    Comme quoi 30 ans ne t'évite pas toujours les erreurs de débutants :-).

    J'avais rajouté les retours à la ligne pour faciliter la lecture dans la fenêtre d'exécution immédiate si on veut s'en servir pour faire du débogage mais en effet HTML qui est un langage balisé n'a pas besoin de cela.
    C'est pour le pauvre humain dont le cerveau peine à couper "au bon endroit", la machine s'en moque.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  10. #10
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2019
    Messages : 36
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    Ah voilà je me disais bien qu'il y avait une histoire de "" mais ne savais pas où.
    C'est de toute beauté!

    Citation Envoyé par marot_r Voir le message
    J'avais rajouté les retours à la ligne pour faciliter la lecture dans la fenêtre d'exécution immédiate si on vent s'en servir pour faire du débogage mais en effet HTML qui est un langage balisé n'a pas besoin de cela.
    C'est pour le pauvre humain dont le cerveau peine à couper "au bon endroit", la machine s'en moque.
    Ok c'est noté, c'est sûr que ça fait beaucoup plus clair à comprendre mais tant pis pour le prochain stagiaire s'il veut s'amuser à changer ça il cherchera

    A part le problème des "" le code précédent ne fonctionnait pas super bien : seul le dernier bloc tableau s'affichait.


    Nom : mail consultation.PNG
Affichages : 805
Taille : 17,7 Ko


    Si le bloc pour le tableau de déclaration est en commentaire, il affichait celui de réalisation uniquement.
    Si les blocs déclaration et réalisation sont en commentaire, il n'affichait que celui de conception.
    J'avais oublié de remettre tbl_livrablesHTML & ... au début de chaqque bloc donc il ne prenait en compte que le dernier.
    J'ai aussi modifié le code avec <br \> pour les retour à la ligne plutôt que <li></li> parce que VBA affiche les bullet points contrairement à l'editeur du site et c'est pas très joli.

    Donc maintenant tout fonctionne à merveille!!
    Merci beaucoup marot_r !!

    Juste encore un détail les checkbox sont moches quand on les passe en VBA, c'est normal le formalisme est juste comme ça ou il y a moyen d'arranger ça?


    Nom : mail consult1.PNG
Affichages : 786
Taille : 26,2 KoNom : mail consult2.PNG
Affichages : 753
Taille : 6,0 Ko


    Voici le code final(?) :
    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
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
     
    'Envoi mail consultation
     
        Dim sujetMailSST As String
        Dim bodyMailSST As String
     
        If IsNull(N°_Avis) Then
            MsgBox "Le champ N°Avis est vide.", vbOKOnly, "Envoi en chiffrage"
        Else
     
            'Mail consultation SST
            sujetMailSST = "DEMANDE DE CHIFFRAGE N°" & N°_Avis
     
            'Body mail HTML----------------
     
            ' Tableau livrables Conception----------------------------------------------------------
            tbl_livrablesHTML = "<h3>Livrables</h3> <h4>Conception</h4> <table style=""width:40%"">"
     
            ' Case Avant projet
            If Me.Parent.Avant_Projet.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox"" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox""></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Avant-projet</td></tr>"
     
            ' Case Etudes 3D
            If Me.Parent.Etudes_3D.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox"" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox""></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Etudes 3D</td></tr>"
     
            ' Case Etudes 2D
            If Me.Parent.Etudes_2D.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox"" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox""></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Etudes 2D</td></tr>"
     
            ' Case Note de calcul
            If Me.Parent.Note_de_calcul.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox"" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox""></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Note de calcul</td></tr>"
     
            ' Case Notice d'utilisation
            If Me.Parent.Notice_d_utilisation.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox"" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox""></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Notice d'utilisation</td></tr></table>"
     
            ' Fin tableau livrables conception
     
            '-------------------------------
            ' Tableau livrables Réalisation
            tbl_livrablesHTML = tbl_livrablesHTML & " <h4>Réalisation</h4> <table style=""width:40%"">"
     
            ' Case Fabrication
            If Me.Parent.Fabrication.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox"" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox""></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Fabrication</td></tr>"
     
            ' Case Certificat matière
            If Me.Parent.Certificat_matière.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox"" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox""></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Certificat matière</td></tr>"
     
            ' Case Certificat de traitement matière
            If Me.Parent.Certificat_de_traitement_matière.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox"" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox""></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Certificat de traitement matière</td></tr>"
     
            ' Case Installation/Montage
            If Me.Parent.Installation_Montage.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox"" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox""></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Installation/Montage</td></tr>"
     
            ' Case Rapport de mesure (pièces unitaires)
            If Me.Parent.Rapport_de_mesure__pièces_unitaires_.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox"" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox""></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Rapport de mesure (pièces unitaires)</td></tr>"
     
            ' Case Rapport de mesure (outil monté)
            If Me.Parent.Rapport_de_mesure__outil_monté_.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox"" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox""></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Rapport de mesure (outil monté)</td></tr>"
     
            ' Case Rapport de mesure LASER
            If Me.Parent.Rapport_de_mesure_LASER.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox"" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox""></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Rapport de mesure LASER</td></tr>"
     
            ' Case Essai en charge
            If Me.Parent.Essai_en_charge.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox"" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox""></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Essai en charge</td></tr></table>"
     
            ' Fin tableau livrables réalisation
     
            '-------------------------------
            ' Tableau livrables Déclaration
            tbl_livrablesHTML = tbl_livrablesHTML & " <h4>Déclaration</h4> <table style=""width:40%"">"
     
            ' Case Déclaration de conformité
            If Me.Parent.Déclaration_de_conformité.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox"" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox""></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Déclaration de conformité</td></tr>"
     
            ' Case Déclaration CE
            If Me.Parent.Déclaration_CE.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox"" checked></td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td><input type=""checkbox""></td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Déclaration CE</td></tr></table>"
     
            ' Fin tableau livrables Déclaration
     
            bodyMailSST = "<head><style>table, th, td {border: 1px solid black;}</style></head><body> <h1>DEMANDE DE CHIFFRAGE</h1> <p>N°Avis : " & N°_Avis
            bodyMailSST = bodyMailSST & "<br \> Date de la demande : " & Date_envoi_consultation & " </p> <p> Madame, Monsieur, </p> <p> Voici une demande de chiffrage concernant : "
            bodyMailSST = bodyMailSST & Me.Parent.Nom_OT.Value & "<br \> Outil N° : " & Me.Parent.N°_OT.Value & "<br \> Demandé par : STELIA <br \> Contact STELIA : "
            bodyMailSST = bodyMailSST & Me.Parent.Contact_client.Column(1) & " " & Me.Parent.Contact_client.Column(2) & "<br \> Date limite de retour de consultation : "
            bodyMailSST = bodyMailSST & Date_réponse_limite_SST & "</p>" & tbl_livrablesHTML & "<p> Lien de téléchargement des documents associés : "
            bodyMailSST = bodyMailSST & Lien_téléchargement_données & "<br \> Remarque : " & Rq_mail_SST & "</p> <p> Cordialement, </p> </body>"
     
            EnvoyerEmail sujetMailSST, SST_1.Column(1), SST_2.Column(1), SST_3.Column(1), SST_4.Column(1), SST_5.Column(1), SST_6.Column(1), SST_7.Column(1), SST_8.Column(1), SST_9.Column(1), SST_10.Column(1), bodyMailSST
        End If
     
    'Affecte la date du click sur le bonton à date envoi en consultation
    Date_envoi_consultation = Now()
     
    End Sub

  11. #11
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Là on est aux limites de ce que je sais de HTML.
    En principe c'est la machine sur laquelle tu visualises qui décide de l'aspect (ça dépend de l'implémentation) mais généralement c'est assez semblable.

    Si tu mets ton code HTML dans ton éditeur est-ce que les checkbox sont plus jolies ?

    Une façon de contourner le problème serait de remplacer les checkbox par des images mais je ne sais pas si c'est possible dans un courriel.
    Sinon tu pourrais remplacer les checkbox par le texte "[_]" et "[X]". Pas tellement plus jolis mais plus cohérent.
    Ou alors ne pas mettre checkbox si elle n'est pas cochée,
    Ou encore ne pas mettre des chekbox mais juste un X centré dans la colonne puisque que ton tableau dessine déjà une case.

    Enfin tu peux chercher, là je ne sais vraiment pas, sur Google et voir si tu peux utiliser CSS pour spécifier le format.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  12. #12
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2019
    Messages : 36
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    Oui ça donne ça dans l'éditeur : Nom : checkbox editor.PNG
Affichages : 761
Taille : 18,0 Ko



    Mais tant pis c'est pas grave.
    Mettre un X centré ou rien c'est bien mieux, je me sens bête de ne pas y avoir pensé plus tôt.

    Je testerai ça lundi (gogo week end!) et posterai ça.
    En tout cas merci beaucoup!

  13. #13
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2019
    Messages : 36
    Points : 14
    Points
    14
    Par défaut
    Et voilà!
    Encore merci marot_r!

    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
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    'Envoi mail consultation
     
        Dim sujetMailSST As String
        Dim bodyMailSST As String
     
        If IsNull(N°_Avis) Then
            MsgBox "Le champ N°Avis est vide.", vbOKOnly, "Envoi en chiffrage"
        Else
     
            'Mail consultation SST
            sujetMailSST = "DEMANDE DE CHIFFRAGE N°" & N°_Avis
     
            'Body mail HTML----------------
     
            ' Tableau livrables Conception----------------------------------------------------------
            tbl_livrablesHTML = "<h3>Livrables</h3> <h4>Conception</h4> <table style=""width:40%"">"
     
            ' Case Avant projet
            If Me.Parent.Avant_Projet.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td style=""text-align:center;"">X</td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td> </td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Avant-projet</td></tr>"
     
            ' Case Etudes 3D
            If Me.Parent.Etudes_3D.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td style=""text-align:center;"">X</td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td> </td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Etudes 3D</td></tr>"
     
            ' Case Etudes 2D
            If Me.Parent.Etudes_2D.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td style=""text-align:center;"">X</td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td> </td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Etudes 2D</td></tr>"
     
            ' Case Note de calcul
            If Me.Parent.Note_de_calcul.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td style=""text-align:center;"">X</td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td> </td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Note de calcul</td></tr>"
     
            ' Case Notice d'utilisation
            If Me.Parent.Notice_d_utilisation.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td style=""text-align:center;"">X</td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td> </td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Notice d'utilisation</td></tr></table>"
     
            ' Fin tableau livrables conception
     
            '-------------------------------
            ' Tableau livrables Réalisation
            tbl_livrablesHTML = tbl_livrablesHTML & " <h4>Réalisation</h4> <table style=""width:40%"">"
     
            ' Case Fabrication
            If Me.Parent.Fabrication.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td style=""text-align:center;"">X</td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td> </td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Fabrication</td></tr>"
     
            ' Case Certificat matière
            If Me.Parent.Certificat_matière.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td style=""text-align:center;"">X</td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td> </td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Certificat matière</td></tr>"
     
            ' Case Certificat de traitement matière
            If Me.Parent.Certificat_de_traitement_matière.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td style=""text-align:center;"">X</td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td> </td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Certificat de traitement matière</td></tr>"
     
            ' Case Installation/Montage
            If Me.Parent.Installation_Montage.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td style=""text-align:center;"">X</td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td> </td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Installation/Montage</td></tr>"
     
            ' Case Rapport de mesure (pièces unitaires)
            If Me.Parent.Rapport_de_mesure__pièces_unitaires_.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td style=""text-align:center;"">X</td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td> </td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Rapport de mesure (pièces unitaires)</td></tr>"
     
            ' Case Rapport de mesure (outil monté)
            If Me.Parent.Rapport_de_mesure__outil_monté_.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td style=""text-align:center;"">X</td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td> </td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Rapport de mesure (outil monté)</td></tr>"
     
            ' Case Rapport de mesure LASER
            If Me.Parent.Rapport_de_mesure_LASER.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td style=""text-align:center;"">X</td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td> </td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Rapport de mesure LASER</td></tr>"
     
            ' Case Essai en charge
            If Me.Parent.Essai_en_charge.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td style=""text-align:center;"">X</td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td> </td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Essai en charge</td></tr></table>"
     
            ' Fin tableau livrables réalisation
     
            '-------------------------------
            ' Tableau livrables Déclaration
            tbl_livrablesHTML = tbl_livrablesHTML & " <h4>Déclaration</h4> <table style=""width:40%"">"
     
            ' Case Déclaration de conformité
            If Me.Parent.Déclaration_de_conformité.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td style=""text-align:center;"">X</td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td> </td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Déclaration de conformité</td></tr>"
     
            ' Case Déclaration CE
            If Me.Parent.Déclaration_CE.Value = True Then
                tbl_livrablesHTML = tbl_livrablesHTML & "<td style=""text-align:center;"">X</td>" 'Case cochée
            Else
                tbl_livrablesHTML = tbl_livrablesHTML & "<td> </td>" 'Case non cochée
            End If
            tbl_livrablesHTML = tbl_livrablesHTML & "<td>Déclaration CE</td></tr></table>"
     
            ' Fin tableau livrables Déclaration
     
            bodyMailSST = "<head><style>table, th, td {border: 1px solid black;}</style></head><body> <h1>DEMANDE DE CHIFFRAGE</h1> <p>N°Avis : " & N°_Avis
            bodyMailSST = bodyMailSST & "<br \> Date de la demande : " & Date_envoi_consultation & " </p> <p> Madame, Monsieur, </p> <p> Voici une demande de chiffrage concernant : "
            bodyMailSST = bodyMailSST & Me.Parent.Nom_OT.Value & "<br \> Outil N° : " & Me.Parent.N°_OT.Value & "<br \> Demandé par : STELIA <br \> Contact STELIA : "
            bodyMailSST = bodyMailSST & Me.Parent.Contact_client.Column(1) & " " & Me.Parent.Contact_client.Column(2) & "<br \> Date limite de retour de consultation : "
            bodyMailSST = bodyMailSST & Date_réponse_limite_SST & "</p>" & tbl_livrablesHTML & "<p> Lien de téléchargement des documents associés : "
            bodyMailSST = bodyMailSST & Lien_téléchargement_données & "<br \> Remarque : " & Rq_mail_SST & "</p> <p> Cordialement, </p> </body>"
     
            EnvoyerEmail sujetMailSST, SST_1.Column(1), SST_2.Column(1), SST_3.Column(1), SST_4.Column(1), SST_5.Column(1), SST_6.Column(1), SST_7.Column(1), SST_8.Column(1), SST_9.Column(1), SST_10.Column(1), bodyMailSST
        End If
     
    'Affecte la date du click sur le bonton à date envoi en consultation
    Date_envoi_consultation = Now()
     
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Formulaire envoyé par mail
    Par Basicnav dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 27/03/2010, 13h10
  2. piece jointe dans un formulaire envoyé par mail
    Par marie2006 dans le forum InfoPath
    Réponses: 1
    Dernier message: 26/11/2008, 16h39
  3. Réponses: 8
    Dernier message: 25/07/2006, 22h49
  4. Envoyer les données du formulaire directement par mail
    Par McAdam dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 09/04/2006, 01h51

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