SneakyZEKE
XLDnaute Nouveau
Re-bonjour pour ceux qui ont lu ma présentation dans la section "Le Bon Coin", bonjour pour les autres,
Je viens vous faire part d'un de mes nombreux problèmes VBA sur un projet que je dois mener à bien dans le cadre de ma formation.
En l’occurrence mon premier problème est que je ne parvient pas à enregistrer en tant que page web certaines colonnes de mon tableau, forcément pas toutes à suivre.
Et même si possible ajouter une colonne d'une autre feuille à ma sélection de colonnes de ma feuille de base.
Je précise, j'ai un tableau A2:J1000 dans ma feuille "BASE" pour lequel je ne souhaite faire apparaitre que les colonnes A, B, C, D, F, G...plus si possible la colonne G de ma feuille "Validations". Sachant que j'ai définie le nom "Commentaires" à cette dernière colonne G1:G999.
J'ai pour le moment uniquement essayé de sélectionné les colonnes voulues de la feuille de base mais ça ne fonctionne que sur une plage, pas sur 2 ou plus :
En fait je tentai de créer une sélection multiple dans Range pour l'utiliser comme source dans mon ActiveWorkbook.PublishObjects.Add( ), mais ça n'a pas fonctionné du tout...au moins en l'état actuel c'est une peu incohérent mais exécutable...il me sort juste la plage A2:E1000 en page web !
Si quelqu'un à une idée je suis preneur car je sèche dessus depuis des heures...
Je viens vous faire part d'un de mes nombreux problèmes VBA sur un projet que je dois mener à bien dans le cadre de ma formation.
En l’occurrence mon premier problème est que je ne parvient pas à enregistrer en tant que page web certaines colonnes de mon tableau, forcément pas toutes à suivre.
Et même si possible ajouter une colonne d'une autre feuille à ma sélection de colonnes de ma feuille de base.
Je précise, j'ai un tableau A2:J1000 dans ma feuille "BASE" pour lequel je ne souhaite faire apparaitre que les colonnes A, B, C, D, F, G...plus si possible la colonne G de ma feuille "Validations". Sachant que j'ai définie le nom "Commentaires" à cette dernière colonne G1:G999.
J'ai pour le moment uniquement essayé de sélectionné les colonnes voulues de la feuille de base mais ça ne fonctionne que sur une plage, pas sur 2 ou plus :
Code:
Sub HTMLExport()
'regroupe les fonctions menant à l'enregistrement sous page HTML
Dim myform As New HTMLExportForm
Dim iFileNum As Integer
Dim MaPageWeb As PublishObject
myform.Show 1
If myform.Result Then
Dim r1 As Range, r2 As Range, myMultiAreaRange As Range
Worksheets("BASE").Activate
Set r1 = Range("A2:D1000")
Set r2 = Range("F2:G1000")
Set myMultiAreaRange = Union(r1, r2)
myMultiAreaRange.Select
Set MaPageWeb = ActiveWorkbook.PublishObjects.Add( _
SourceType:=xlSourceRange, _
Filename:=myform.txtFileName.Text, _
Sheet:="BASE", _
Source:="A2:E1000", _
HtmlType:=xlHtmlStatic, _
Title:="")
With MaPageWeb
'publication de la page
.Publish (True)
'ne répercute repercute pas l'enregistrement du classeur sur la page web
.AutoRepublish = False
End With
If myform.xbView.Value = True Then
VBShellExecute myform.txtFileName.Text
End If
End If
End Sub
En fait je tentai de créer une sélection multiple dans Range pour l'utiliser comme source dans mon ActiveWorkbook.PublishObjects.Add( ), mais ça n'a pas fonctionné du tout...au moins en l'état actuel c'est une peu incohérent mais exécutable...il me sort juste la plage A2:E1000 en page web !
Si quelqu'un à une idée je suis preneur car je sèche dessus depuis des heures...
Dernière édition: