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] copier du texte d'excel dans word


Sujet :

VBA Word

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Points : 29
    Points
    29
    Par défaut [VBA-W] copier du texte d'excel dans word
    Bonjour

    Je voulais savoir, avant de me lancer dans une tentative pour créer ma macro, s'il est possible d'en créer une qui permette de copier du texte contenu dans un fichier excel (avec un moyen de retrouver le texte recherché en utilisant le nom de la cellule par exemple) à destination d'un fichier word.

    Le but est d'utiliser le fichier excel comme une base de données et de traiter une partie des infos qu'il contient dans Word.

    Indiquez moi si c'est réalisable ou pas.
    Merci

  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
    Points : 15 543
    Points
    15 543
    Par défaut
    M'énerve ! On leur fait tout et ils trouvent rien !
    Regarde
    Tu dis

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Points : 29
    Points
    29
    Par défaut
    Ok c'est sympa, mais ça ne marche que dans le cas du transfert de texte de Word à Excel. Est-ce que pour l'inverse (excel dans word), il est possible d'utiliser cette macro en changeant les quelques petits trucs qui vont bien?

    Et les i=255 imposent-ils de connaître exactement la longueur du texte ou le nombre de mots à copier?

  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
    Points : 15 543
    Points
    15 543
    Par défaut
    T'as pas regarder ?

    Tu peux récupérer de la même manière le seul contenu de la cellule

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Points : 29
    Points
    29
    Par défaut
    C'est sympa pour l'aide que tu m'apportes.
    Je tente depuis pas mal de temps de faire fonctionner la macro mais celle-ci me renvoie un message d'erreur :
    erreur de compilation
    type défini par l'utilisateur non défini

    C'est la première ligne qui est surlignée, celle du nom de la macro, que j'ai beau changer sans différences.
    Y aurait-il quelque chose que j'aurais oublié?

  6. #6
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu la mets où ta macro ? Dans Word ou dans Excel ?
    Si c'est bien dans Word, tu dois ajouter la référence Microsoft Excel 10.0 Objects library. Dans l'éditeur VB -> Outils -> Références -> Valider la référence
    Tu dis

  7. #7
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Points : 29
    Points
    29
    Par défaut
    Ok ça marche mais le texte apparait comme une image (ça je le comprend) mais avec un cadre correspondant aux limites de la cellule. Y a t il un moyen d'éviter ce dernier point?

  8. #8
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Si tu copies la cellule, tu auras une cellule. Le format dépend d'Excel
    Si tu copies une valeur, alors tu auras la valeur sous forme de texte incorporé au texte de ton doc, sans cadre. Et là c'est à toi la difficult tâche de déterminer ce que tu veux (mise à jour automatique Oui/Non... )

  9. #9
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Points : 29
    Points
    29
    Par défaut
    Ok pigé.
    Qu'est-ce qui change alors dans le code pour demander de copier la valeur de la cellule?

  10. #10
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Points : 29
    Points
    29
    Par défaut
    Et comme une des macros que tu m'a indiqué tout à l'heure était copiercollertexteworddansunecelluleexcel depuis excel, n'aurais-tu pas une macro pour copier de l'excel dans word depuis excel?

  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
    Points : 15 543
    Points
    15 543
    Par défaut
    C'étai l'Url de ma première réponse, non ?

    ici

  12. #12
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Points : 29
    Points
    29
    Par défaut
    Non pas tout à fait.
    Ta première réponse c'était texte word -> Excel depuis excel
    et je souhaite faire: texte excel -> word depuis excel

  13. #13
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Mais si je l'ai fait, tu n'as pas bien regardé ! Descends jusqu'en bas, je dis aussi comment aller placer le texte au bon endroit qu'il faut

  14. #14
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Points : 29
    Points
    29
    Par défaut
    Ok désolé je n'ai pas fait attention et je ne voulais pas te facher.
    Je la teste et je te dis quoi.
    Merci

  15. #15
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Points : 29
    Points
    29
    Par défaut
    J'ai essayé la macro qui copie des cellules d'excel dans word à partir de Word et je souhaiterais y apporter quelques modifications.
    Je souhaite remplacer les plages de cellules du code par ce que je saisis dans une TextBox d'une boite de dialogue que j'ai créé.
    J'ai vu qu'il n'y avait pas Caption dans la TextBox, alors quelle commande permet d'aller chercher le texte entré par l'utilisateur?

  16. #16
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LeContenuDeLaTextBox = LaTextBox.text

  17. #17
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Points : 29
    Points
    29
    Par défaut
    Ok j'ai essayé mais ça continue à planter.
    Je t'envoie le code, peux-tu y jeter une coup d'oeil?

    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
    Private Sub CommandButton1_Click()
    Dim XlAppli As Object
    Dim XlCl As Workbook
    Dim Xlfl As Worksheet
        Set XlAppli = CreateObject("Excel.Application") '< L'appli Excel
        Set XlCl = XlAppli.Workbooks.Open("C:\Documents and Settings\fdufour\Bureau\Essais sur excell.xls") '< le classeur
        Set Xlfl = XlCl.Worksheets("Feuil1") '< la feuille
        With Xlfl
            .Range("TextBox1.text").Copy ' < La Plage
        End With
        On Error Resume Next
        'Colle la plage Excel avec liaison à l'emplacement du curseur
        Selection.PasteSpecial Link:=True, DataType:=wdPasteOLEObject, Placement:= _
            wdInLine, DisplayAsIcon:=False
        DoEvents
        XlCl.Close False
        XlAppli.Quit
        Set XlAppli = Nothing
        Set XlCl = Nothing
        Set Xlfl = Nothing
    End Sub

  18. #18
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Citation Envoyé par Tu
    Ok j'ai essayé mais ça continue à planter.
    sur quelle ligne ? Quelle erreur ? Aide-nous. Et balise ton code. Bouton "Editer" pour corriger

  19. #19
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Points : 29
    Points
    29
    Par défaut
    C'est à la 9ème ligne : Range("TextBox1.text").Copy ' < La Plage.

  20. #20
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Range s'applique pour une adresse dans la feuille de calculs, pas pour un objet placé dans une feuille de calculs.
    Ensuite, je ne sais pas, a priori, si on peut lier un textbox situé dans Excel à un document Word. Jamais fait ce type d'expérience (j'ai encore plein de choses à apprendre)
    Je vais regarder mais ce n'est pas évident vu comme ça
    Déjà, supprime ce range qui me déprime
    A+

Discussions similaires

  1. VBA - Copier tableau excel dans Word en Image
    Par pofito dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/02/2014, 18h20
  2. Copier de feuille d'Excel dans word
    Par wqazsx dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/11/2007, 17h36
  3. [VBA-E]Copier des éléments excel dans word
    Par ash_rmy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/03/2007, 10h11
  4. Réponses: 1
    Dernier message: 19/12/2006, 16h12
  5. [VBA-A]Copier des données d'Excel vers Word
    Par soad029 dans le forum VBA Word
    Réponses: 15
    Dernier message: 16/03/2006, 11h56

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