Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/04/2007, 10h53   #1
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 93
Points : 11
Points : 11
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
perophron est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 10h57   #2
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
M'énerve ! On leur fait tout et ils trouvent rien !
Regarde
Tu dis
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 11h50   #3
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 93
Points : 11
Points : 11
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?
perophron est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 12h29   #4
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
T'as pas regarder ?

Tu peux récupérer de la même manière le seul contenu de la cellule
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 15h31   #5
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 93
Points : 11
Points : 11
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é?
perophron est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 15h39   #6
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
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
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 15h44   #7
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 93
Points : 11
Points : 11
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?
perophron est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 15h51   #8
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
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... )
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 16h01   #9
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 93
Points : 11
Points : 11
Ok pigé.
Qu'est-ce qui change alors dans le code pour demander de copier la valeur de la cellule?
perophron est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 16h43   #10
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 93
Points : 11
Points : 11
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?
perophron est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 16h49   #11
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
C'étai l'Url de ma première réponse, non ?

ici
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 16h58   #12
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 93
Points : 11
Points : 11
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
perophron est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 17h04   #13
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
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
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 19h05   #14
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 93
Points : 11
Points : 11
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
perophron est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 16h12   #15
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 93
Points : 11
Points : 11
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?
perophron est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 16h14   #16
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Code :
LeContenuDeLaTextBox = LaTextBox.text
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 16h52   #17
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 93
Points : 11
Points : 11
Ok j'ai essayé mais ça continue à planter.
Je t'envoie le code, peux-tu y jeter une coup d'oeil?

Code :
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
perophron est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 17h24   #18
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
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
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 17h27   #19
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 93
Points : 11
Points : 11
C'est à la 9ème ligne : Range("TextBox1.text").Copy ' < La Plage.
perophron est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 17h34   #20
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
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+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h26.


 
 
 
 
Partenaires

Hébergement Web