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

Macros et VBA Excel Discussion :

Transférer des données Excel sur Word


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 22
    Par défaut Transférer des données Excel sur Word
    Bonjour,

    Je realise un code qui permet de copié/collé plusieurs tableaux (l'onglet fait 2500 lignes et est généré avec un autre code) dans un fichier word déjà existant.

    voici mon code
    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
    Sub test()
     
    Dim appWord As Word.Application
    Dim docWord As Word.Document
     
    Set appWord = CreateObject("Word.Application")
    appWord.Visible = True
    Set docWord = appWord.Documents. _
    Open("C:\User\U452536\Documents\FichierTest.docx", ReadOnly:=True)
     
    Worksheets("Creation Engine Handbook").Range("A1:B20").Copy
     
        appWord.Selection.Paste
     
    End Sub
    le code marche mais j'ai quelques soucis :

    -Je n'arrive pas à collé le tableau à partir de la 2 page du word

    -Je ne sais pas comment faire en sorte que la copie s'effectue jusqu'à la dernière ligne de l'excel car il peut évoluer.
    (j'ai essayé quelque chose comme ça)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    With Feuil12
        LastLigne = .Cells(.Rows.Count, 2).End(xlUp).Row
    -Est t-il possible de faire un saut de page automatique sur word pour evité que le tableau de coupe d'une page à l'autre et d'adpter la taille des colonnes à la page word ?


    Merci pour votre aide

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, voir les FAQ1 FAQ2

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 22
    Par défaut
    Salut kiki,

    j'ai déjà parcouru ces tutos je m'en suis inspiré pour le début.

    mais jai rien trouvé pour le saut de lignes...

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Personnellement, j'utilise les signets pour coller dans un document Word ce que je copie en Excel
    Si tu veux connaître l'instruction pour effectuer un saut de ligne, un saut de paragraphe ou un saut de page, l'enregistreur de macros de Word te donnera le code
    En attendant, voici une petite procédure de démonstration se trouvant dans un module Excel et qui ouvre un nouveau document Word et qui écrits une phrase avec saut de paragraphe et un mot
    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
    17
    Sub WordWrite()
     Dim objWord As Object
     'On Error Resume Next
     Set objWord = CreateObject("Word.Application.8")
     objWord.Visible = True ' Affiche Word
     objWord.Documents.Add  'Ajoute un document
     With objWord.Selection
     .TypeParagraph
     .TypeText Text:="Procédure pour écrire dans Word "
     .TypeParagraph  ' Saut de paragraphe
     .TypeText Text:="Philippe :o)"
     .TypeParagraph
     End With
    'pour imprimer le document
    ' objWord.PrintOut
    Set objWord = Nothing
    End Sub
    Si ton tableau commence à la page 1 et continue page 2, tu peux parfaitement répéter les étiquettes de colonnes de ton tableau. C'est une fonctionnalité de Word
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 22
    Par défaut
    J'ai la commande pour le saut de page je cherche encore comment faire un "si le tableau est incomplet faire un aute de page" je vois ça de mon côté je reviens si je trouve pas merci.

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    comment faire un "si le tableau est incomplet faire un aute de page"
    Tu peux te baser sur le numéro de page par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Selection.Information(wdActiveEndPageNumber)
    ou le numéro de la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Selection.Information(wdFirstCharacterLineNumber)
    mais je ne comprends pas ce que tu cherches à faire car le saut de page est automatique et encore une fois rien ne t'empêche de répéter les étiquettes de colonnes.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 22
    Par défaut
    Bonjour Philippe, je reviens vers toi car j'ai trouvé une commende qui me permet de coller les tableaux là ou je veux voici le code:

    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
    17
    18
    Sub test()
     
    Dim appWord As Word.Application
    Dim docWord As Word.Document
     
     
    Set appWord = CreateObject("Word.Application")
    appWord.Visible = True
    Set docWord = appWord.Documents. _
    Open("C:\User\U515129\Documents\Cahier d'adaptation.docx", ReadOnly:=True)
     
    Worksheets("Creation Engine Handbook").Range("A1:B20").Copy
     
    Selection.MoveDown Unit:=wdLine, Count:=24
     
    appWord.Selection.Paste
     
    End Sub
    Le code s'incrémente et ouvre le document word mais une erreur d'éxecution '4248' apparaît.

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 22
    Par défaut
    Petit up pour redemander de l'aide sur ce sujet

  9. #9
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Le code s'incrémente et ouvre le document word mais une erreur d'éxecution '4248' apparaît.
    Indiquer qu'il y a une erreur n'est pas suffisant, il est important de nous indiquer le numéro de la ligne où elle se produit.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  10. #10
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,



    Citation Envoyé par Elgwaz Voir le message
    Bonjour Philippe, je reviens vers toi car j'ai trouvé une commende qui me permet de coller les tableaux là ou je veux voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.MoveDown Unit:=wdLine, Count:=24
    Le code s'incrémente et ouvre le document word mais une erreur d'éxecution '4248' apparaît.
    Sauf que l'idée de Philippe de passer par des signets est (beaucoup) plus fiable, surtout si ton document doit être utilisé sur différentes machines. Ta ligne fait descendre le point d'insertion de 24 lignes de texte. Sauf que dans Word la ligne est l'unité de mesure la moins fiable qui puisse exister. Suffit de modifier la police, les marges, le pilote d'imprimante, l'imprimante, la justification etc. pour modifier le compte de lignes.

  11. #11
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    Si ton but est d'éviter de les couper, dans les propriétés d'un tableau collé dans word tu en as 2 qui pourrait t'intéresser :
    Nom : 2017-07-16_09-04-23.png
Affichages : 498
Taille : 32,4 Ko
    Reste à trouver leur nom.
    eric

  12. #12
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour Eric,
    C'est la deuxième option que je lui ait suggéré à deux reprises. La première étant cochée par défaut.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  13. #13
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Peut-être, je n'y avais pas prêté attention.
    Le soucis est de trouver ces propriétés. J'ai beau fouiller Table avec l'explorateur d'objet ou comparer 2 espions, je ne trouve pas.
    Cependant je viens de comprendre que la 1ère option concerne les lignes (prises individuellement).
    Pour la découpe du tableau une recherche google dit qu'il faudrait plutôt
    - Sélection du tableau
    - Format Paragraphe, Enchaînements => cocher "Paragraphes solidaires"

    Mais tant que le demandeur n'a pas confirmé que sa problématique première est bien celle-ci, on peut attendre pour chercher comment faire en vba...

  14. #14
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour Eric,
    Le soucis est de trouver ces propriétés. J'ai beau fouiller Table avec l'explorateur d'objet ou comparer 2 espions, je ne trouve pas.
    C'est vrai que ce n'est sans doute pas intuitif de trouver cette propriété mais comme je dis souvent à mes stagiaires "Privilégiez le Clic droit"
    Ce qui est moins évident c'est qu'il faut sélectionner la ou les lignes que l'on veux voir répéter sur les autres pages et ensuite cliquer sur l'option en question.
    Une autre possibilité est de cliquer sur le sous-onglet [Disposition] de l'onglet contextuel Outils de tableau et cliquer sur la commande Répéter les lignes d'en-tête du groupe Données (Toujours après avoir sélectionner la ou les lignes que l'on souhaite voir répétées)

    Tout cela en utilisant l'enregistreur de macros
    Si le tableau est seul dans le document.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     With ThisDocument.Tables(1).Rows(1)
     .HeadingFormat = True
     End With
    Code à adapter bien entendu pour le faire fonctionner dans Excel


    Mais tant que le demandeur n'a pas confirmé que sa problématique première est bien celle-ci attendons...
    Effectivement il semble être aux abonnés absents ou en vacances.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. [WD-2007] Intéractivité entre Word et Excel-récupérer des données excel dans word
    Par manuseverine dans le forum VBA Word
    Réponses: 11
    Dernier message: 08/10/2018, 15h13
  2. [XL-2007] Mettre des données excel sur une carte internet
    Par guigui77 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/05/2014, 11h52
  3. [XL-2007] VBA problème pour passer des données EXCEL vers WORD
    Par nocontrol dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 28/07/2011, 10h01
  4. [VBA-E] Exporter des données Excel dans Word
    Par lucarno dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/08/2007, 19h25
  5. comment afficher des données Access sur Word ??
    Par merlubreizh dans le forum Access
    Réponses: 7
    Dernier message: 16/09/2005, 15h07

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