Copie des 3 premières lignes d'un paragraphe word vers une cellule excel

jarod1990

XLDnaute Nouveau
Bonjour,
je cherche à faire une petite macro (à partir de excel) qui copie les 3 premières lignes d'un paragraphe word qui copie dans une cellule d'excel.

Je parviens à copier des tableaux, des documents entiers word, mais pas a trouver la synthaxe pour copier juste un paragraphe.

quelle est cette synthaxe ?

Merci pour votre aide.
Jarod
 

porcinet82

XLDnaute Barbatruc
Re : Copie des 3 premières lignes d'un paragraphe word vers une cellule excel

Salut,

Je ne suis pas un expert du pilotage de word via excel, donc je ne sais pas trop de quel type sont les commandes à utiliser, mauis je me débrouille un peu en vba excel et word séparémenent.

Donc, si tu nous fournis un bout de code pour par exemple copier un tableau, j'essaierai d'adapter pour un paragraphe. Quelques précision quand même, comment vas-tu retrouver ton paragraphe dans ton doc word ?

@+
 

jarod1990

XLDnaute Nouveau
Re : Copie des 3 premières lignes d'un paragraphe word vers une cellule excel

Bonjour,
il me semblait qu'il était possible de reconnaitre directement un paragraphe. Peut être est-ce possible de compter le nombre de ligne ? Je peux aussi m'arranger pour placer des signets avant mes paragraphes et ne prendre que les 20 premiers mot ou 100 premières lettres après ce signet.
Voici mon bout de code pour prendre à partir d'un tableau


'copie de la cellule Date de l'incident
WordDoc.Tables(1).Columns(2).Cells(4).Range.Copy
plg.PasteSpecial xlPasteValues
plg.Select 'plg étant une cellule dans excel

Merci de ton aide.
jarod
 

porcinet82

XLDnaute Barbatruc
Re : Copie des 3 premières lignes d'un paragraphe word vers une cellule excel

re,

En fait, j'aurai voulu que tu me fournisses tout le code, j'entend par la, ouverture du doc word si besoin, ou selection du doc afin que je puisse faire des tests directement.
Sinon, effectivement, tu peux reconnaitre un paragraphe, mais le plus dur c'est d'arriver à le "localiser".

Voici la syntaxe pour copier un paragraphe :
Code:
[COLOR=seagreen]' permet de se mettre le plus a gauche de la ligne en cours[/COLOR]
Selection.MoveLeft Unit:=wdWord, Count:=1
[COLOR=seagreen]' permet de selectionner le paragraphe[/COLOR]
Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
[COLOR=#2e8b57]' permet de copier
[/COLOR]Selection.Copy

Si tu places un signet juste avant, je pense que ca faciliterai la tache, a moins que celui-ci soit placer juste avant ou juste apres par exemple ton premier tableau, ainsi, il serait facile de parcourir les lignes pour trouver ton paragraphe.

@+
 

jarod1990

XLDnaute Nouveau
Re : Copie des 3 premières lignes d'un paragraphe word vers une cellule excel

désolé de ne pas être assez exsautif, voici mon code en entier qui me copie le signet "cause" pour le moment. Je pense me servir de ".selection.GOTO" pour aller jusqu'au signet "cause" et ensuite je lance les quelques lignes que tu m'a indiqué.
Je verai si cela fonctionne.

Private Sub CommandButton1_Click()

Dim appWord As Word.Application
Dim Valeur As String

Set appWord = New Word.Application

With appWord
.Visible = False
.Documents.Open ("c:\\rapport.doc")
.Selection.GoTo What:=wdGoToBookmark, Name:="cause"
Valeur = .Selection.Text
.Quit False
End With

MsgBox Valeur
End Sub

Merci encore.
Jarod
 

jarod1990

XLDnaute Nouveau
Re : Copie des 3 premières lignes d'un paragraphe word vers une cellule excel

Voici mon code, mais il toujours pas. Je ne suis pas sur de mon possitionnement du signet (qui se trouve à l'extrême gauche au début du premier mot de mon paragraphe)


Private Sub CommandButton1_Click()

Dim appWord As Word.Application
Dim Valeur As String

Set appWord = New Word.Application

With appWord
.Visible = False
.Documents.Open ("c:\\rapport.doc")
.Selection.GoTo What:=wdGoToBookmark, Name:="cause"
' permet de se mettre le plus a gauche de la ligne en cours
Selection.MoveLeft Unit:=wdWord, Count:=0
' permet de selectionner le paragraphe
Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
' permet de copier
Selection.Copy
Valeur = .Selection
.Quit False
End With

MsgBox Valeur
End Sub

Cordialement.
 

Discussions similaires

Réponses
0
Affichages
228

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 976
dernier inscrit
kaizertv2001@gmailcom