Problème avec filtre lors d'une conversion excel en html

Cheweee -  
 Cheweee -
Bonjour,

Je suis en train de convertir une feuille Excel en HTML via une macro. Ceci fonctionne comme je le souhaite. J'ai la bonne mise en forme, les bonnes valeurs... Je dispose sur ma page de plusieurs tableaux avec un nombre de ligne prédéfinie que ne rempli pas forcément toute. Pour ce faire j'utilise un filtre qui me permet sur Excel d'afficher seulement les lignes remplies des différents tableaux.

C'est là que je ne comprend pas pourquoi lorsque j'applique la même macro pour la conversion en HTML, le contenu de ma page Excel filtré n'apparait plus... Quelqu'un à t-il une idée?

Merci pour attention

2 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    Bonjour,

    Ta question semble plus relever d'un souci de macro (VBA) que d'un problème HTML.
    Je déplace donc ta question dans le forum VBA.

    Quoi qu'il en soit.... si tu veux obtenir de l'aide... tu devras commencer par montrer le code en question. ( En utilisant les BALISES DE CODE du forum )

    0
  2. Cheweee
     
    Ok merci du conseil.

    Pour le coup voici le code en question :

    Sub Mail_Sheet_Outlook_Body()
        Dim rng As Range
        Dim OutApp As Object
        Dim OutMail As Object
        With Application
            .EnableEvents = False
            .ScreenUpdating = False
        End With
     
        Set rng = Nothing
        'Set rng = Selection.SpecialCells(xlCellTypeVisible)
        Set rng = ActiveSheet.UsedRange
       
        Set OutApp = CreateObject("Outlook.Application")
        Set OutMail = OutApp.CreateItem(0)
     
        On Error Resume Next
        With OutMail
            .To = "***@***"
            .CC = ""
            .BCC = ""
            .Subject = "Veille programmation / péremption du " & Date
            .HTMLBody = RangetoHTML(rng)
            .Display
    
        End With
        On Error GoTo 0
     
        With Application
            .EnableEvents = True
            .ScreenUpdating = True
        End With
     
        Set OutMail = Nothing
        Set OutApp = Nothing
    End Sub
    
    Function RangetoHTML(rng As Range)
    
        Dim fso As Object
        Dim ts As Object
        Dim TempFile As String
        Dim TempWB As Workbook
    
        TempFile = Environ$("temp") & "\" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"
    
           rng.Copy
        Set TempWB = Workbooks.Add(1)
        With TempWB.Sheets(1)
            .Cells(1).PasteSpecial Paste:=8
            .Cells(1).PasteSpecial xlPasteValues, , False, False
            .Cells(1).PasteSpecial xlPasteFormats, , False, False
            .Cells(1).Select
            Application.CutCopyMode = False
            On Error Resume Next
            .DrawingObjects.Visible = True
            .DrawingObjects.Delete
            On Error GoTo 0
        End With
    
       
        With TempWB.PublishObjects.Add( _
             SourceType:=xlSourceRange, _
             Filename:=TempFile, _
             Sheet:=TempWB.Sheets(1).Name, _
             Source:=TempWB.Sheets(1).UsedRange.Address, _
             HtmlType:=xlHtmlStatic)
            .Publish (True)
        End With
    
            Set fso = CreateObject("Scripting.FileSystemObject")
        Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
        RangetoHTML = ts.readall
        ts.Close
        RangetoHTML = Replace(RangetoHTML, "align=center x:publishsource=", _
                              "align=left x:publishsource=")
    
            TempWB.Close savechanges:=False
    
            Kill TempFile
    
        Set ts = Nothing
        Set fso = Nothing
        Set TempWB = Nothing
    End Function
    


    J'ai donc fait un test ligne 11 pour voir si cela changer quelque chose mais rien j'ai encore une page blanche....

    Merci pour votre aide =)
    0