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 :

Séparer des tableaux copiés/collés dans Word depuis Excel [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2016
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2016
    Messages : 27
    Par défaut Séparer des tableaux copiés/collés dans Word depuis Excel
    Bonjour à tous et à toutes

    Je viens encore une fois vous demander un peu d'aide : J'alimente un fichier Word avec les données d'un fichier Excel. Je souhaite ensuite faire quelques mises en forme et notamment un ajustement des tableaux à la page Word (car sinon, ils sont susceptibles de dépasser en largeur). Le problème est que suite à mes copier/coller basiques dans Word, celui-ci considère qu'il y a UN seul tableau et non 3 comme j'aimerais. La mise en page que je souhaite faire n'est donc pas bonne
    En fait, vous l'aurez compris, mes tableaux sont accolés les uns sous les autres alors que j'aimerais qu'ils soient séparés d'une ligne vide (un retour charriot quoi...). J'ai essayé des choses avec TypeParagraph, chr(10), chr(13), Bookmarks.Add, etc... rien n'y fait (ou alors, je ne sais pas bien les utiliser). Je mets mon bout de code, en espérant que pourrez m'aider ^^

    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
    19
    20
    21
    22
    23
    24
    25
    26
    'Export de la page de couverture
    Sheets("Cover_Temp").Select
    sNomRapport = "Cover"
    ThisWorkbook.Sheets("Cover_Temp").Range("A1:D" & DerLigCover1).Select
    Selection.Copy
    Set wrdApp = CreateObject("Word.Application")
    wrdApp.Visible = False
    Set wrdDoc = wrdApp.Documents.Add
    
    wrdApp.Selection.Paste
    
    Ici j'aimerais faire le découpage
    
    ThisWorkbook.Sheets("Cover_Temp").Range("F1:I" & DerLigCover2).Select
    Selection.Copy
    wrdApp.Selection.Paste
    
    Ici j'aimerais faire le découpage
    
    ThisWorkbook.Sheets("Cover_Temp").Range("K1:P" & DerLigCover3).Select
    Selection.Copy
    wrdApp.Selection.Paste
    
    For i = 1 To wrdDoc.Tables.Count
    wrdDoc.Tables(i).AutoFitBehavior wdAutoFitWindow
    Next i
    Je reviens au bureau vendredi, au plaisir de vous lire !
    Merci beaucoup,
    Alex

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Le question concerne le VBA Word plus que Excel.

    Petit conseil liminaire : évite les instruction comme Visible = False tant que tu es en phase de développement. A moins que tu apprécies de coder les yeux bandés.

    Essaye ça :
    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
    Set wrdApp = CreateObject("Word.Application")
    Set wrdDoc = wrdApp.Documents.Add
     
    ThisWorkbook.Sheets("Cover_Temp").Range("A1:D" & DerLigCover1).Copy
    wrdDoc.Paragraphs.Add
    wrdDoc.Paragraphs(wrdDoc.Paragraphs.Count).Range.Paste
     
    ThisWorkbook.Sheets("Cover_Temp").Range("F1:I" & DerLigCover2).Copy
    wrdDoc.Paragraphs.Add
    wrdDoc.Paragraphs(wrdDoc.Paragraphs.Count).Range.Paste
     
    ThisWorkbook.Sheets("Cover_Temp").Range("K1:P" & DerLigCover3).Copy
    wrdDoc.Paragraphs.Add
    wrdDoc.Paragraphs(wrdDoc.Paragraphs.Count).Range.Paste
     
    For i = 1 To wrdDoc.Tables.Count
        wrdDoc.Tables(i).AutoFitBehavior wdAutoFitWindow
    Next i

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2016
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2016
    Messages : 27
    Par défaut
    Bonjour Menhir,

    Ton code marche à la perfection, j'avoue que j'avais dû m'embrouiller un peu dans la manipulation des objets comme "paragraphs"...
    Merci infiniment pour ta réponse rapide et efficace !!

    Alex

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

Discussions similaires

  1. Trouver un caractère spécial dans Word depuis Excel en VB
    Par JJMB92 dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 11/02/2010, 17h00
  2. Réponses: 5
    Dernier message: 10/04/2008, 09h09
  3. en-tête et pied de page dans Word depuis Excel
    Par fabfaz dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 09/04/2008, 20h28
  4. Garder les tableaux et lignes dans Word ou Excel
    Par domb_st dans le forum VBA Access
    Réponses: 1
    Dernier message: 18/05/2007, 06h48
  5. coller une plage dans word depuis excel
    Par tarmin dans le forum VBA Word
    Réponses: 7
    Dernier message: 18/01/2006, 10h16

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