Feuille excel au format html [Résolu]

Messages postés
15
Date d'inscription
mardi 5 juin 2007
Dernière intervention
12 février 2008
- - Dernière réponse : kevinou55
Messages postés
15
Date d'inscription
mardi 5 juin 2007
Dernière intervention
12 février 2008
- 12 juin 2007 à 16:21
bonjour a tous,
je voulais savoir si c'etait possible d'enregistrer une seule feuille d'un fichier excel au format html, j'ai essayé avec saveas mais tout le classeur est enregistré,
en enregistrant la feuille dans un autre classeur puis en enregistrant ce classeur en html cela m'indique une erreur "permission refusée".
je ne sais plus trop par ou prendre le probleme
merci pour votre aide
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
15
Date d'inscription
mardi 5 juin 2007
Dernière intervention
12 février 2008
3
Merci
J'ai trouvé une solution, pas très propre mais qui marche, la voila :

compt = gExcelClass.Sheets.Count
     If compt > 1 Then
        For numpage = 1 To compt
          'on enregistre chaque page dans un nouveau classeur
          gExcelClass.Sheets(numpage).SaveAs "C:\Feuille" + CStr(numpage) + ".xls", fileformat:=xlExcel4
          Set gExcelApp2 = New EXCEL.Application
          gExcelApp2.Visible = True
          Set gExcelClass2 = gExcelApp2.Workbooks.Open("C:\Feuille" + CStr(numpage) + ".xls")
          Set gExcelFeuil2 = gExcelClass2.Worksheets(1)
          'on enregistre le classeur avec une seule feuille en html
          gExcelClass2.SaveAs "C:\Feuille" + CStr(numpage) + ".htm", fileformat:=xlHtml
          gExcelClass2.Close
          gExcelApp2.Quit
          Set gExcelClass2 = Nothing
          Set gExcelApp2 = Nothing
        Next numpage
      Else
        gExcelClass.SaveAs "C:\classUneSeulePage.htm"
     End If

on obtient ainsi deux fichiers html avec dans chacun une feuille du classeur initial
(on a aussi deux fichiers .xls avec une seule feuille qu'il faut penser a supprimer)

Merci d'avoir tenté de m'aider

Merci kevinou55 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de kevinou55
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Dernière intervention
23 février 2011
0
Merci
Tu es bien en VB6 ou VBA ?

Dans Excel même, quand tu fais enregistrer sous, tu as l'option Feuille ou classeur pour enregistrer le fichier au format .html
Avec l'éditeur de macro tu vois le code.

En tout état de cause, ce n'est pas la méthode SaveAs qu'il faut utiliser à priori, mais la propriété Publish de l'objet PublishObject.

Molenn
Commenter la réponse de Molenn
Messages postés
15
Date d'inscription
mardi 5 juin 2007
Dernière intervention
12 février 2008
0
Merci
je suis sous vb6, j'avais trouvé une solution mais deux essais plus tard, plus rien en fonctionne... j'ai l'erreur "la methode saveas de l'objet worksheet a echoué".


comment fonctionne la propriété publish ???
Commenter la réponse de kevinou55
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Dernière intervention
23 février 2011
0
Merci
Et bien, j'en sais rien ^^
L'éditeur de Macro d'Excel m'a donné cette méthode et propriété. Clic sur le mot Publish et F1 et ... Lecture pour tenter de comprendre

Un extrait de l'aide :
Publish, méthode

Voir aussiS'applique à[mk:@MSITStore:C:\LOGICIEL\Microsoft%20Office\OFFICE11\1036\VBAXL10.CHM::/html/xlmthPublish.htm#example Exemple]Détails
[mk:@MSITStore:C:\LOGICIEL\Microsoft%20Office\OFFICE11\1036\VBAXL10.CHM::/html/xlmthPublish.htm# Méthode Publish telle qu'elle s'applique à l'objet PublishObject ou à la collection PublishObjects.]

Cette méthode enregistre un élément ou une collection d'éléments contenus dans un document dans une page Web.

expression.Publish(Create)

expression      Expression qui renvoie un objet [mk:@MSITStore:C:\LOGICIEL\Microsoft%20Office\OFFICE11\1036\VBAXL10.CHM::/html/xlobjPublishObject.htm PublishObject] ou une collection [mk:@MSITStore:C:\LOGICIEL\Microsoft%20Office\OFFICE11\1036\VBAXL10.CHM::/html/xlobjPublishObjects.htm PublishObjects].

Create      Donnée de type Variant facultative. Cet argument est utilisé uniquement avec un objet PublishObject. Si le fichier HTML existe et que cet argument a la valeur True, le fichier est remplacé. Si cet argument a la valeur False, un ou des éléments sont insérés à la fin du fichier. Si le fichier n'existe pas, le fichier est créé quelle que soit la valeur de l'argument Create.

Notes
La propriété [mk:@MSITStore:C:\LOGICIEL\Microsoft%20Office\OFFICE11\1036\VBAXL10.CHM::/html/xlproFileName.htm FileName] renvoie ou définit l'emplacement et le nom du fichier HTML.

[mk:@MSITStore:C:\LOGICIEL\Microsoft%20Office\OFFICE11\1036\VBAXL10.CHM::/html/xlmthPublish.htm# Méthode Publish telle qu'elle s'applique à l'objet ListObject.]

Cette méthode publie l'objet ListObject sur un serveur exécutant Microsoft Windows SharePoint Services. Elle renvoie une valeur de type String qui correspond à l'URL de la liste publiée sur le site SharePoint.

expression.Publish(Target, LinkSource)

expression    Obligatoire. Expression qui renvoie un objet ListObject.

Target    Argument de type Variant obligatoire. Contient un tableau de chaînes. Le tableau suivant présente les éléments de ce tableau :

Élément |Contenu |----
0, URL du serveur SharePoint, ----
1, Liste de noms (Nom complet), ----
2, Description de la liste. Facultatif.
LinkSource    Données de type Boolean obligatoire.

Notes
Si l'objet ListObject n'est pas lié à une liste sur un site SharePoint, affectez la valeur True à l'argument LinkSource pour créer une nouvelle liste sur le site SharePoint spécifié. Si l'objet ListObject est lié à un site SharePoint, affectez la valeur True à l'argument LinkSource pour remplacer le lien existant (vous pouvez uniquement lier la liste à un seul site SharePoint). Si l'objet ListObject n'est pas lié, affectez la valeur False à l'argument LinkSource pour le conserver sans liaison. Si l'objet ListObject est lié à un site SharePoint, affectez la valeur False à l'argument LinkSource pour conserver la liaison existante.

Exemple
Cet exemple montre comment enregistrer, dans une page Web intitulée stockreport.htm, la plage de cellules D5:D9 de la feuille de calcul nommée « First Quarter » contenue dans le classeur actif. Le composant Feuille de calcul permet d'ajouter des fonctions interactives à la page Web.

ActiveWorkbook.PublishObjects.Add( _
    SourceType:=  xlSourceRange, _
    Filename:="\\Server2\Q1\stockreport.htm", _
    Sheet:="First Quarter", _
    Source:="D5:D9", _
    HTMLType:=xlHTMLCalc). Publish 


L'exemple suivant définit des éléments de l'argument Target pour publier l'objet ListObject sur le site SharePoint nommé « MyServer ». Il est supposé que l'objet ListObject n'est pas lié à une autre source de liste. Par conséquent, la valeur True affectée à l'argument LinkSource permet de créer une liaison bidirectionnelle entre cette liste et la liste sur le site cible SharePoint.

   
   Dim objWrksht as Worksheet
Dim objListobj as ListObject
Dim strURL as String

Set objWrksht   = ActiveWorkbook.Worksheets("Sheet1")
Set objListObj = objWrksht.ListObjects(1)

strURL = objListObj.Publish(Array("HTTP://MyServer", "MyList", "Description of my list"), True)
Commenter la réponse de Molenn
Messages postés
15
Date d'inscription
mardi 5 juin 2007
Dernière intervention
12 février 2008
0
Merci
non mais je suis sous VB6 donc je ne pense pas que les macros excel fonctionnent si ????
merci de ton aide en tout cas
Commenter la réponse de kevinou55

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.