[VBA] Convertir un tableau structuré en PDF

Bon et bien j'ai quelques soucis:

tout d'abord la suppression des lignes existantes me retourne parfois une erreur, cela peut il être du au fait que le tableau est déjà vide au début parfois?

Range("TS_ipam").ListObject.DataBodyRange.Delet

Ensuite, lors de la création du PDF, parfois cela bloque (sans explication apparente, en tout cas hors de mon champs de compétence) à ce niveau

Set Sh = Sheets(Range("TS_ipam[#All]").Parent.Name)

Je joins l'ensemble de mon code pour l'insertion des lignes dans mon TS_ipam ainsi que la création du PDF

Private Sub create_ipam_Click()
Dim I As Long

With TS_ipam

Range("TS_ipam").ListObject.DataBodyRange.Delete

    If Me.sublan24 = "" Then
    Else
        Set Ligne_Inser_lan = .ListRows.Add: I = Ligne_Inser_lan.index
        .DataBodyRange(I, "A") = Me.descriplan
        .DataBodyRange(I, "B") = Me.commfinal3
        .DataBodyRange(I, "C") = "V" & Me.vrflan & "-" & Me.vpninst
        .DataBodyRange(I, "D") = Me.sublan24
        .DataBodyRange(I, "R") = Me.BL
        .DataBodyRange(I, "S") = Me.BM
        .DataBodyRange(I, "T") = Me.BE
        .DataBodyRange(I, "U") = Me.BT
                If Me.att_auto = True Then
                .DataBodyRange(I, "Q") = "OUI"
                Else:
                .DataBodyRange(I, "Q") = "NON"
                End If
   End If

   If Me.subfwp = "" Then
   Else
        Set Ligne_Inser_fwp = .ListRows.Add: I = Ligne_Inser_fwp.index
        .DataBodyRange(I, "A") = Me.TextBox5
        .DataBodyRange(I, "B") = "FWP"
        .DataBodyRange(I, "C") = "V" & Me.vrflan & "-" & Me.vpninst
        .DataBodyRange(I, "D") = Me.subfwp
        .DataBodyRange(I, "R") = Me.BL
        .DataBodyRange(I, "S") = Me.BM
        .DataBodyRange(I, "T") = Me.BE
   End If

   If Me.subvip = "" Then
   Else
        Set Ligne_Inser_lbi = .ListRows.Add: I = Ligne_Inser_lbi.index
        .DataBodyRange(I, "A") = Me.descriptionlbi
        .DataBodyRange(I, "B") = "LBI"
        .DataBodyRange(I, "C") = "V" & Me.vrflan & "-" & Me.vpninst
        .DataBodyRange(I, "D") = Me.subvip
        .DataBodyRange(I, "R") = Me.BL
        .DataBodyRange(I, "S") = Me.BM
        .DataBodyRange(I, "T") = Me.BE
        .DataBodyRange(I, "U") = Me.BT
   End If

   If Me.sublbi = "" Then
   Else
        Set Ligne_Inser_vip = .ListRows.Add: I = Ligne_Inser_vip.index
        .DataBodyRange(I, "A") = Me.descrivip
        .DataBodyRange(I, "B") = "VIP BIPLAN"
        .DataBodyRange(I, "C") = "V" & Me.vrflan & "-" & Me.vpninst
        .DataBodyRange(I, "D") = Me.sublbi
        .DataBodyRange(I, "R") = Me.BL
        .DataBodyRange(I, "S") = Me.BM
        .DataBodyRange(I, "T") = Me.BE
        .DataBodyRange(I, "E") = ""
        .DataBodyRange(I, "F") = ""
        .DataBodyRange(I, "G") = ""
        .DataBodyRange(I, "H") = ""
        .DataBodyRange(I, "I") = ""
        .DataBodyRange(I, "J") = ""
        .DataBodyRange(I, "K") = ""
        .DataBodyRange(I, "L") = ""
        .DataBodyRange(I, "M") = ""
        .DataBodyRange(I, "N") = ""
        .DataBodyRange(I, "O") = ""
        .DataBodyRange(I, "Q") = "OUI"

End If
End With

Dim Le_Nom As String, Le_Path As String
Dim Sh As Worksheet
Le_Nom = Format(Date, "yyyymmdd") & " - Ajout de bulles techniques dans l'IPAM et hybridation" & " V" & vrflan
Le_Path = "C:\Users\" & Environ("UserName") & "\Downloads\"
Set Sh = Sheets(Range("TS_ipam[#All]").Parent.Name)
With Sh
    With .PageSetup
        .PrintArea = Range("TS_ipam[#All]").Address 'zone d'impression
        .CenterHorizontally = True 'centrer horizontalement
        .Orientation = xlLandscape 'impression paysage
        .FitToPagesWide = 1 '1 page de largeur
        .FitToPagesTall = 1
    End With
    .Range(.PageSetup.PrintArea).ExportAsFixedFormat Type:=xlTypePDF, Filename:=Le_Path & Le_Nom, OpenAfterPublish:=True

End With

Call AppelerUserForm
End Sub
image

Re-,

Pour éviter le 1er bug (Supprimer les données du TS), tu mets une condition :

If Range("TS_ipam").ListObject.ListRows.Count > 0 Then
    Range("TS_ipam").ListObject.DataBodyRange.Delete
End If

Dans ta dernière photo, je ne vois pas quelle ligne est en erreur (en jaune)

la premiere au toggle

Perso, je n'ai pas cette erreur

un Alpha/Mike, du célèbre Docteur On/Off, peut-être?

Je vais tenter cela!

Assez paradoxalement ça ne me le faisait pas plutot

etrange

image

Après un ON/OFF j'ai ça maintenant

Bon rien à voir

c'est mon Call en fin de sub qui me retourne cette erreur cette fois

le PDF lui est passé

je souhaitais appeler qd je clique la feuille (formulaire) "assist"...

assist.show cela doit il me le permettre?

RE-,

Comme tu as déjà un usf (create...) d'ouvert en mode "modal", tu ne peux afficher un autre..

Pour ce faire, 2 solutions :

- Soit tu ouvres les 2 en même temps, mais dans ce cas, il faut rajouter un 0 (zéro) après le .Show qui ouvre l'usf

Ex : CreateVRF.Show 0

et idem pour l'autre

- Soit tu fermes le 1er (Unload Me avant l'appel du 2ème)

Bon courage

J'ai testé avec un

unload me
assist.show

il me retourne qd même l'erreur

Bonjour....

Euh, comme on n'est plus du tout dans l'énoncé (ça fait d'ailleurs un moment... ), et à des fins de recherche pour d'autres "âmes" en peine, il serait opportun d'ouvrir un nouveau sujet.

@ te relire

Exact je m'en charge.

Merci

Rechercher des sujets similaires à "vba convertir tableau structure pdf"