Email, HTML

Hello je cherche à générer un email comme ci dessous. Evidement les chiffres, entreprises, etc... ont été masqué.

Le but, c'est qu'à partir d'un très gros tableau de données, je puisse ressortir pour chaque famille (ici market actions) les differents CB (centre budgetaire) qui eux même contiennent des books (ici 21), ces books se répartissement leur chiffre d'affaires sur ce que l'on appelle des grecs (deals, vente, delta ici).

Je souhaite reporter les 3 plus grosses et 3 plus petites valeurs pour chaque grecs de chaque book, de chaque centre budgétaire de chaque famille

Email attendu:

Market Actions:

Centre budgetaire N°1:

Book 21 : 100

Deals: 50

X -5

X -4

X -4

X 47

X 15

X 10

Delta: 50

X -5

X -4

X -4

X 47

X 15

X 10

Email obtenu:

Market Actions:

Centre budgetaire N°1:

Book 21 : 100

Deals: 50

X -5

X -4

X -4

X 47

X 15

X 10

Delta: 50

Après avoir créer un dictionnaire à 5 dimensions dont je vous passerai les détails j'ai réussi a stocker toutes les infos dont j'ai besoin. Cependant pour une raison que j'ignore, mon code veut bien me donner le détail des "deals" mais pas des "delta"

Code rebel:

MailBody = ""
For Each Family In DicFamily
    Set DicCB = DicFamily(Family)
    MailBody = MailBody & Chr(10) & Family & ": " & Chr(10)

    For Each CB In DicCB
        Set DicBook = DicCB(CB)
        MailBody = MailBody & Chr(9) & CB & ": " & Chr(10)

            For Each Book In DicBook
            Set CurInstrMain = DicBook(Book)
            On Error Resume Next
            Set DicInstr = DicBook3(Book)

            'P&L Global'
            MailBody = MailBody & Chr(9) & Chr(9) & Book & " : " & CurInstrMain.PnL & Chr(10)

            'Deals'
            If Not CurInstrMain.Deals = 0 Then
                MailBody = MailBody & Chr(9) & Chr(9) & Chr(9) & "Deals:  " & CurInstrMain.Deals & Chr(10)
                Set DicGreek = DicBook4(Book)
                Set DicInstr2 = DicGreek("Deals")
                For Each Key In DicInstr2
                    MailBody = MailBody & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Key & Chr(32) & DicInstr2(Key) & Chr(10)
                Next Key
            End If

            'Vente'
            If Not CurInstrMain.Vente = 0 Then
                MailBody = MailBody & Chr(9) & Chr(9) & Chr(9) & "Vente:  " & CurInstrMain.Vente & Chr(10)
                Set DicGreek = DicBook4(Book)
                Set DicInstr2 = DicGreek("Vente")
                For Each Key In DicInstr2
                    MailBody = MailBody & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Key & Chr(32) & DicInstr2(Key).Item & Chr(10)
                Next Key
            End If

            'Delta'
            If Not CurInstrMain.Delta = 0 Then
                MailBody = MailBody & Chr(9) & Chr(9) & Chr(9) & "Delta: " & Chr(32) & CurInstrMain.Delta & Chr(10)
                Set DicGreek = DicBook4(Book)
                Set DicInstr2 = DicGreek("Delta")
                For Each Key In DicInstr2
                    MailBody = MailBody & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Key & Chr(32) & DicInstr2(Key).Item & Chr(10)
                                        Debug.Print MailBody
                    Debug.Print Key
                    Debug.Print DicInstr2(Key)
                Next Key
            End If

Pour information:

En pas à pas le code est bien lu et key prends bien les valeurs souhaitées. Il est logique que "vente' soit ignoré car condition IF non validé, mais pour "delta" la condition est validé et le code passe bien en pas à pas sur:

 MailBody = MailBody & Chr(9) & Chr(9) & Chr(9) & Chr(9) & Key & Chr(32) & DicInstr2(Key).Item & Chr(10)

Je n'ai aucune idée pourquoi il refuse de m'insérer "key" et "DicInstr2(key)" pour le delta.

Si un habitué des HTML a deja eu le soucis je suis preneur d'une solution.

Bien a vous

EDIT: j'ai laissé dans le code mes debug.print pour m'assurer que mes valeurs étaient bien prises en compte, et c'est le cas

OMG Erreur trouvée, 2min après avoir posté, je suis désolé.

En réalité la ligne n'était pas prise en compte car il n'y a pas de .item après curinstr2(key). Et du coup la ligne était lu mais pas prise en compte, bref sujet clos merci à tous

Rechercher des sujets similaires à "email html"