Sauvegarder la feuille en html via VBA

Vinc

XLDnaute Junior
Bonjour, je souhaiterais comprendre pourquoi en VBA je n'arrive pas à sauvegarder ma feuille en html... Je me retrouve avec le message d'erreur :
La méthode 'Publish' de l'objet 'PublishObject' a échoué

Merci pour votre aide...

Code:
Private Sub CommandButton1_Click()
    With ActiveWorkbook.PublishObjects.Add(xlSourceRange, _
        "C:\Users\" & Environ("UserName") & "\Desktop\Fichier convert.htm", "Feuil1", "$B$3:$G$15", _
        xlHtmlStatic, "Save html_7023", "Mise à jour le : " & Now())
        .Publish (True)
        .AutoRepublish = False
    End With
End Sub
 

Pièces jointes

  • Save html.xlsm
    18 KB · Affichages: 116

degap05

XLDnaute Impliqué
Re : Sauvegarder la feuille en html via VBA

Bonjour,
Avec l'enregistreur de macro, cela donne:
Sub Macro2()

ActiveWorkbook.SaveAs Filename:="C:\Users\xxxxxxxx\Documents\Classeur1.htm", _
FileFormat:=xlHtml, ReadOnlyRecommended:=False, CreateBackup:=False
End Sub

Qui fonctionne. Peut-être en adaptant..........
A+
 

Vinc

XLDnaute Junior
Re : Sauvegarder la feuille en html via VBA

-Bonjour degap05, ta méthode fonctionne bien... Seulement elle est limitée en paramètres je pense notamment (Choix de la feuille et de la zone B3:G15, et xlHtmlStatic qui me permet de mettre en en-tête de la page la date de mise à jour)

-En mode automatique avant la fermeture d'Excel cela fonctionne bien... Mais lorsque je souhaites réaliser cette fonction via un bouton, il y a un bug...
 

degap05

XLDnaute Impliqué
Re : Sauvegarder la feuille en html via VBA

Bonjour,
Deux classeurs joints issus d'exemples du forum qui fonctionnent chez moi, peut-être une aide pour toi en attendant des réponses plus pertinentes.
A+
 

Pièces jointes

  • Macro Kjin html.xls
    22 KB · Affichages: 167
  • Macro Stapple1600.xls
    18.5 KB · Affichages: 197

Vinc

XLDnaute Junior
Re : Sauvegarder la feuille en html via VBA

Bonjour degap05, je viens d'essayer tes fichiers qui ne fonctionnent pas chez moi... Toujours ces erreurs 'Publish'... Peut-être parce que je suis en Excel 2007, je ne sais pas... Je vais finir par croire que le problème vient de chez moi... As tu essayé mon code dans mon premier message ?... Chez moi il ne fonctionne pas en tout cas... Toujours l'erreur 'Publish'.
 

degap05

XLDnaute Impliqué
Re : Sauvegarder la feuille en html via VBA

Re-bonjour,

Ton code dans un module, fonctionne chez moi.
Le résultat joint.
A+
 

Pièces jointes

  • Classeur1.xls
    18.5 KB · Affichages: 175
  • Classeur1.xls
    18.5 KB · Affichages: 184
  • Classeur1.xls
    18.5 KB · Affichages: 184
  • Fichier convert.zip
    1.3 KB · Affichages: 91

Vinc

XLDnaute Junior
Re : Sauvegarder la feuille en html via VBA

Merci d'avoir testé degap05, je vien de REtester à mon tour ton fichier fonctionnel et NIET ! Apparemment soit j'ai une option d'Excel qui va pas, car j'ai du mal à croire que ma version d'Exxcel 2007 ne colle pas avec le code...
Si quelqu'un à un Excel 2007 et afin d'essayer le code de mon premier post... A bon entendeur... Merci... Car là il y a quelque chose qui m’échappe...
 

Vinc

XLDnaute Junior
Re : Sauvegarder la feuille en html via VBA

J'ai trouvé la solution, la méthode 'Publish' de l'objet 'PublishObject' fonctionne si au préalable on lui indique une plage de sélection avant l'exécution de la macro !...

Par conséquent, avant l'exécution de la macro j'ai donc écrit le code suivant :
Code:
Worksheets("Feuil1").Range("$B$3:$G$15").Select

Et là tout roule comme sur des roulettes...
 

Discussions similaires

Statistiques des forums

Discussions
312 389
Messages
2 087 892
Membres
103 673
dernier inscrit
FmZoner