Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/11/2006, 10h19   #1
Invité de passage
 
Inscription : août 2003
Messages : 9
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 9
Points : 3
Points : 3
Par défaut [VBA-W] Transfert contenu spreadsheet dans un tableau word

Salut,

Je souhaiterais pouvoir transferer le contenu d'une spreadsheet dans un tableau d'une page word. Ma spreadsheet se trouve sur une userform. La plage de cellule a transferer est ("A1:E16"). Voici mon code, qui me renvoie une erreur de compatibilité. Il faut peut-être que je précise la plage ?

Code :
1
2
3
4
5
6
7
With Selection
    .Collapse Direction:=wdCollapseEnd
    .Range.InsertDatabase _
        Format:=wdTableFormatSimple2, Style:=191, _
        LinkToSource:=False, Connection:="Entire Spreadsheet", _
        DataSource:=UserForm1.Spreadsheet1, IncludeFields:=True
End With
D'autre part, je n'ai pas le contrôle spreadsheet dans la boîte à outils, sur l'ordinateur que j'utilise chez moi(XP Home Office 2007),à mon bureau si (XP pro Office 2003), il n'est pas dans les contrôles complémentaires, il doit me manquer une référence, mais je ne sais pas laquelle.

Merci d'avance
houadglaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2006, 17h47   #2
Rédacteur
 
Homme michel Tanguy
Inscription : août 2005
Messages : 3 317
Détails du profil
Informations personnelles :
Nom : Homme michel Tanguy
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : août 2005
Messages : 3 317
Points : 10 706
Points : 10 706
bonjour

je n'ai pas compris comment tu veux insérer les données dans le document Word.

tu peux boucler sur les cellules du SpreadSheet ainsi:


Code :
1
2
3
4
5
6
7
Dim i As Integer, j As Integer
 
For j = 1 To 5 'colonnes
    For i = 1 To 16 'lignes
        Debug.Print Me.Spreadsheet1.Cells(i, j).Value
    Next i
Next j


Citation:
D'autre part, je n'ai pas le contrôle spreadsheet dans la boîte à outils, sur l'ordinateur que j'utilise chez moi(XP Home Office 2007),à mon bureau si (XP pro Office 2003), il n'est pas dans les contrôles complémentaires, il doit me manquer une référence, mais je ne sais pas laquelle.
http://silkyroad.developpez.com/VBA/...erForm/#LIII-B

tu devras faire une recherche sur le site Microsoft pour la compatibilité Excel2007



michel
SilkyRoad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2006, 09h42   #3
Invité de passage
 
Inscription : août 2003
Messages : 9
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 9
Points : 3
Points : 3
Merci pour la boucle, je vais essayer comme ça. Mon but, c'est que l'utilisateur entre des infos sur une spreadsheet qui se trouve sur une userform. Un évenement click sur un bouton ok transfert l'ensemble des information recueillies avec la userform sur une page word, une partie des informations est affichée sous forme de texte et l'autre partie (celle recueillie dans la spreadsheet) sous forme de tableau.

Pour la référence, il semble qu'elle n'existe pas sous office 2007. Ce contrôle est sensé se trouvé dans le repertoire :
C:\Programs files\Fichiers Communs\Microsoft Shared\Web components\11

et s'appelle : owc11.dll

Le repertoire web component n'existe pas avec office2007. J'ai regardé sur microsoft, il ne parle pas d'office 2007 pour ce contrôle.
houadglaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2006, 17h40   #4
Rédacteur
 
Homme michel Tanguy
Inscription : août 2005
Messages : 3 317
Détails du profil
Informations personnelles :
Nom : Homme michel Tanguy
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : août 2005
Messages : 3 317
Points : 10 706
Points : 10 706
bonsoir

rien ne t'empêche d'installer owc11.dll et de le tester dans Excel2007...


michel
SilkyRoad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2006, 14h58   #5
Invité de passage
 
Inscription : août 2003
Messages : 9
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 9
Points : 3
Points : 3
C'est ce que j'essaye de faire, mais je ne sais pas dans quel repertoire mettre cette .dll pour la rendre disponible.
Pour le transfert de la spreedsheat au tableau word, ça marche avec la boucle, voici mon code final :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
' Création du tableau word
Selection.Collapse Direction:=wdCollapseStart
Set myTable = ActiveDocument.Tables.Add(Range:=Selection.Range, _
Numrows:=17, NumColumns:=6)
myTable.AutoFormat Format:=wdTableFormatClassic2
 
' Remplissage du tableau à partir de la spreadsheet
Dim x As Integer, y As Integer
 
For y = 1 To 6 'colonnes
    For x = 1 To 17 'lignes
        Debug.Print UserForm1.Spreadsheet1.Cells(x, y).Value
        myTable.Cell(x, y).Range.Text = UserForm1.Spreadsheet1.Cells(x, y).Value
 
    Next x
Next y
Voilà, si ça peut aider quelqu'un.
houadglaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h31.


 
 
 
 
Partenaires

Hébergement Web