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 :

[VBA-E]Coller dans word


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 113
    Par défaut [VBA-E]Coller dans word
    Bonjour,

    j'ai créé un document dans excel et a partir de ce document je copie et colle différent tableau dans word à l'aide d'un bouton. Voici une partir du code me permettant de coller dans word :

    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
     
    With appword.Selection
        'Copie le tableau Excel dans le presse-papiers
        Range("A1", Range("A4").End(xlDown).Offset(0, 14)).Copy
        'Colle le tableau dans Word avec liaison
        .EndKey Unit:=wdLine
        .TypeParagraph
        .PasteSpecial Link:=False, DataType:=wdPasteHTML, Placement:=wdInLine, DisplayAsIcon:=False
        'Copie du petit tableau
            Worksheets("Risques").Range("A1:M7").Copy
            'Colle le petit tableau
            .EndKey Unit:=wdLine
            .TypeParagraph
            .PasteSpecial Link:=False, DataType:=wdPasteHTML, Placement:=xlLine, DisplayAsIcon:=False
               End With
                With docWord
                    'Enregistre le document Word dans le même dossier que le classeur Excel
                    .SaveAs ThisWorkbook.Path & "\sécu.doc"
                End With
    Cela fonctionne à merveille sauf que je souhaiterais apporter des modification pour que le "petit tableau" vienne se coller dans word en pied de page...

    Merci à ceux qui peuvent m'apporter de l'aide

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Marche pas le code que je t'ai passé ?

    A+

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 113
    Par défaut
    La partie du code suivant que tu m'as passé ne fonctionne pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
    Je ne sais pas de quoi ça vient... Le message d'erreur suivant apparaît :

    "propriété ou méthode non gérée par cet objet"

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je pense que c'est wdSeekCurrentPageFooter "qu'il" aime pas. Regarde dans l'aide ou enregistre la macro pour passer dans le pied de page.

    Tu dis

    A+

    Edit

    Je viens de voir qu'une autre commande réclamait de remplacer le paramètre word par un chiffre 0, 1, 2, 3
    Fais l'essai, les conditions étaient semblables à celle de ton projet (Ouverture et traitement de word à partir de VB6 au lieu d'Excel)
    http://www.developpez.net/forums/vie...529950#2529950

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 113
    Par défaut
    Je l'ai enregistrer depuis Word mais le même message d'erreur apparaît toujours.

    Et concernant le fait de remplacer le paramètre par un chiffre, d'après ce que j'ai compris... c'est juste pour la mise en page.... donc inutile pour mon problème.

  6. #6
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Peux pas vérifier avec ma vieille version de Word (encore avec word basic)

    Avec ma version : impossible d'écrire dans entête ou pied sans afficher d'abord.

    Voilà ce que celà donne en Word Basic (l'équivalent existe surement avec VBA) en utilisant l'enregistreur de macro :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub MAIN
      AffichageEnTête
      DéfilementV 71
      AtteindreEnTêtePiedPage
      Insertion "ffffffffffffffffffffffffffhhhhhhhhhhhhhhhhhhhh"
      FermerAffichageEnTêtePiedPg
    End Sub
     
     :oops:

    Edit Ps :

    Faut enlever DéfilementV 71

  7. #7
    Expert confirmé

    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
    Par défaut
    bonjour

    pour coller une plage de cellules en pied de page , tu peux tester ce type de synthaxe


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With appword.Selection.Sections(1).Footers(wdHeaderFooterPrimary)
    .Range.Paste
    .Range.Paragraphs.Alignment = wdAlignParagraphCenter
    End With

    cordialement
    michel

  8. #8
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 113
    Par défaut
    Voilà, voilà,

    après moulte essais je suis arrivé à quelque chose de tout c... je ne sais pas trop pourquoi ça ne marchait pas avant mais là c'est tout bon. Petit aperçu de ce que ça donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      With docWord
        .ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
      End With
      .PasteSpecial Link:=False, DataType:=wdPasteHTML, Placement:=xlinline, DisplayAsIcon:=False
    End With
    Rest plus qu'à trouver un moyen de déterminer la hauteur du pied de page...

  9. #9
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Euh, dans le code que tu donnes, il manque un With ou il y a un End With de trop...
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  10. #10
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 113
    Par défaut
    C'est vrai mon code est relativement long étant donné que je fais encore beaucoup de chose avant et je ne voulais pas tout copier sur le forum...

  11. #11
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je réponds à ça
    Et concernant le fait de remplacer le paramètre par un chiffre, d'après ce que j'ai compris... c'est juste pour la mise en page.... donc inutile pour mon problème.
    Je te donnais cet exemple que parce qu'avec le paramètre founi par VBA, il avait aussi une erreur, avec une valeur, il n'en avait pas. Chaque paramètre correspondant à une valeur, dans ton cas, il te restait à essayer...

    A+

  12. #12
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 113
    Par défaut
    ah... Désolé je n'avait pas capté...

    Merci encore

    A+

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

Discussions similaires

  1. Copier-coller dans Word
    Par platon802 dans le forum Word
    Réponses: 1
    Dernier message: 04/03/2013, 13h05
  2. copie coller dans word
    Par nadia68 dans le forum Word
    Réponses: 3
    Dernier message: 30/03/2008, 17h05
  3. Coller dans word 2007
    Par Guega dans le forum Word
    Réponses: 4
    Dernier message: 20/11/2007, 18h58
  4. Copier en image d'EXCEL et coller dans word
    Par Speed41 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/10/2007, 21h25
  5. [VBA]Couper coller dans un formulaire continu
    Par PhRey dans le forum VBA Access
    Réponses: 1
    Dernier message: 13/04/2007, 16h53

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