IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Word Discussion :

[VBA-W] Transfert contenu spreadsheet dans un tableau word


Sujet :

VBA Word

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2003
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 13
    Points : 10
    Points
    10
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 147
    Points
    20 147
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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


    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

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2003
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    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.

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 147
    Points
    20 147
    Par défaut
    bonsoir

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


    michel

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2003
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/03/2007, 18h29
  2. [VBA-Excel] Faire un filtre dans un tableau croisé dynamique
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 27/11/2006, 15h05
  3. (VBA Word]Naviguer dans un tableau word
    Par aA189 dans le forum VBA Word
    Réponses: 6
    Dernier message: 17/09/2006, 20h14
  4. [VBA-W]Insérer contenu variable dans page word
    Par jcaspar dans le forum VBA Word
    Réponses: 1
    Dernier message: 24/03/2006, 01h07
  5. [Tableaux] recuperer un contenu situé dans un tableau
    Par jeanfrancois dans le forum Langage
    Réponses: 7
    Dernier message: 06/03/2006, 15h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo