Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Copier plage de données Excel dans Word -Bug Microsoft avec Mode R

4 réponses
Avatar
Alex St-Pierre
Bonjour !
Si je cré un tableau dans excel et le copie dans Word (avec mode
"Rtf:=True"), il semble impossible de compter le nombre de cellules par ligne
s'il y a des cellules fusionnées. Si je met le mode Rtf:=False, tout
fonctionne bien. (j'utilise XP SP3)

Ce qui est encore plus intrigant, c'est que si j'éxécute le programme ligne
par ligne, word compte le bon nombre de cellule sur la ligne qui a une
cellule fusionnée. Et si je fais F5, Word ne compte pas le bon nombre de
cellules par ligne.
Dans l'exemple suivant, si je click F8, le message indique Rangée 2 a 2
cellules. Si je click F5, le message indique Rangée 2 a 3 cellules.
J'aimerais savoir si c'est vraiment un bug Microsoft car je devrais alors
trouver une autre solution.

Ce problème se reproduit très facilement:
Se crée un fichier word et excel vide. Fusioner les celluls A2 et B2 dans
Excel. Ensuite, utiliser la programmation suivante pour copier la plage Excel
dans le document word (avec Excel Object Library). Le tableau Word devrait
avoir 2 cellules fusionnées, soit (2,1) et (2,2).

Sub Test()
Dim i As Integer
Dim appWord As Word.Application
Dim appExcel As Excel.Application
Dim docWord As Word.Document
Dim wbExcel As Excel.Workbook
Dim rngExcel As Excel.Range
Dim pathExcel As String

Set appWord = Word.Application
Set docWord = appWord.ActiveDocument
Set appExcel = GetObject(, "Excel.Application")
Set wbExcel = appExcel.ActiveWorkbook
Set rngExcel = wbExcel.Application.ActiveSheet.Range("A1:C3")
rngExcel.Copy
Selection.PasteExcelTable LinkedToExcel:=False, WordFormatting:=False,
RTF:=True
With ActiveDocument.Tables(1)
For i = 1 To .Rows.Count
On Error Resume Next
.Cell(i, 1).Select
Selection.SelectRow
MsgBox "Rangée " & i & " a " & Selection.Cells.Count & " Cellules"
Next
End With
End Sub
--
Alex St-Pierre

4 réponses

Avatar
Anacoluthe
Bonjour !

'Alex St-Pierre' nous a écrit ...
Si je cré un tableau dans excel et le copie dans Word (avec mode
"Rtf:=True"), il semble impossible de compter le nombre de cellules par ligne
s'il y a des cellules fusionnées.


En collage RTF, il semble effectivement, macro ou pas macro,
que les cellules fusionnées de XL ne passent pas bien :-(
(alors que celles fusionnées dans Word passent bien).
Il faudrait voir dans les balises RTF ce qui cloche...

Je n'ai pas bien compris pourquoi vous devez coller en RTF.
Pourquoi ne pas coller en rtf:úlse, ou même simplement
Selection.Paste au lieu de Selection.PasteExcelTable ?
Rien n'empêche ensuite de tout passer en RTF s'il le faut.

Anacoluthe
« Il faudrait pouvoir montrer les tableaux
qui sont sous le tableau. »
- Pablo PICASSO

Avatar
Alex St-Pierre
Bonjour !

Je copie le tableau en mode Rtf car si je met Rtf:False, après avoir copier
le tableau dans Word, je ne peux plus enregistrer le fichier (ça prend
aumoins 10 minutes et à chaque fois). Si je colle en mode Rtf, je peux
enregistrer le fichier en 2 sec. Il y a quelques choses dans mon fichier Word
qui ne fonctionne pas très bien lorsque je copie et coller des cellules de
Excel à Word (sans utiliser le Rtf). Le pire, c'est que même si j'efface le
tableau que je viens de coller, je ne peux pas enregistrer. C'est comme si le
collage du tableau vient transformer une propriété du fichier ?

J'ai essayé de mettre Selection.Paste au lieu de Selection.PasteExcelTable
et ça m'a donné le même résultat.

Note: Le fichier Word contient 40 pages, une table des matières, plusieurs
tableaux et des variables mailmerge.

Si jamais tu veux que je t'envoi le fichier Word, tu peux m'envoyer ton
adresse à alexstpierre sur h.o.t.m.a.i.l.

Merci !
--
Alex St-Pierre


"Anacoluthe" wrote:

Bonjour !

'Alex St-Pierre' nous a écrit ...
Si je cré un tableau dans excel et le copie dans Word (avec mode
"Rtf:=True"), il semble impossible de compter le nombre de cellules par ligne
s'il y a des cellules fusionnées.


En collage RTF, il semble effectivement, macro ou pas macro,
que les cellules fusionnées de XL ne passent pas bien :-(
(alors que celles fusionnées dans Word passent bien).
Il faudrait voir dans les balises RTF ce qui cloche...

Je n'ai pas bien compris pourquoi vous devez coller en RTF.
Pourquoi ne pas coller en rtf:úlse, ou même simplement
Selection.Paste au lieu de Selection.PasteExcelTable ?
Rien n'empêche ensuite de tout passer en RTF s'il le faut.

Anacoluthe
« Il faudrait pouvoir montrer les tableaux
qui sont sous le tableau. »
- Pablo PICASSO




Avatar
Alex St-Pierre
Re-Bonjour !

Le fichier original du modèle que j'utilise avait été créé avec Office 95.
Je me suis créé un nouveau fichier word et copier le texte dedans en faisant
attention de ne pas insérer les sauts de section ! Et voilà, tout fonctionne
bien. J'espère que le problème ne se reproduira pas :) Il semble que Word
conserve des traces de ses vieilles versions à l'intérieur des sauts de
section.

Merci ! :)

--
Alex St-Pierre



Bonjour !

Je copie le tableau en mode Rtf car si je met Rtf:False, après avoir copier
le tableau dans Word, je ne peux plus enregistrer le fichier (ça prend
aumoins 10 minutes et à chaque fois). Si je colle en mode Rtf, je peux
enregistrer le fichier en 2 sec. Il y a quelques choses dans mon fichier Word
qui ne fonctionne pas très bien lorsque je copie et coller des cellules de
Excel à Word (sans utiliser le Rtf). Le pire, c'est que même si j'efface le
tableau que je viens de coller, je ne peux pas enregistrer. C'est comme si le
collage du tableau vient transformer une propriété du fichier ?

J'ai essayé de mettre Selection.Paste au lieu de Selection.PasteExcelTable
et ça m'a donné le même résultat.

Note: Le fichier Word contient 40 pages, une table des matières, plusieurs
tableaux et des variables mailmerge.

Si jamais tu veux que je t'envoi le fichier Word, tu peux m'envoyer ton
adresse à alexstpierre sur h.o.t.m.a.i.l.

Merci !
--
Alex St-Pierre


"Anacoluthe" wrote:

Bonjour !

'Alex St-Pierre' nous a écrit ...
Si je cré un tableau dans excel et le copie dans Word (avec mode
"Rtf:=True"), il semble impossible de compter le nombre de cellules par ligne
s'il y a des cellules fusionnées.


En collage RTF, il semble effectivement, macro ou pas macro,
que les cellules fusionnées de XL ne passent pas bien :-(
(alors que celles fusionnées dans Word passent bien).
Il faudrait voir dans les balises RTF ce qui cloche...

Je n'ai pas bien compris pourquoi vous devez coller en RTF.
Pourquoi ne pas coller en rtf:úlse, ou même simplement
Selection.Paste au lieu de Selection.PasteExcelTable ?
Rien n'empêche ensuite de tout passer en RTF s'il le faut.

Anacoluthe
« Il faudrait pouvoir montrer les tableaux
qui sont sous le tableau. »
- Pablo PICASSO






Avatar
Anacoluthe
Bonjour !

'Alex St-Pierre' nous a écrit ...
Le fichier original du modèle que j'utilise avait été créé avec Office 95.
Je me suis créé un nouveau fichier word et copier le texte dedans en faisant
attention de ne pas insérer les sauts de section ! Et voilà, tout fonctionne
bien. J'espère que le problème ne se reproduira pas :) Il semble que Word
conserve des traces de ses vieilles versions à l'intérieur des sauts de
section.


Merci du retour :-)

Oui Word conserve un tas de choses 'dans' les sauts de paragraphe
et les sauts de section. C'est ainsi qu'une méthode de réparation
d'un document mono-section est d'en faire un copier-coller /sans/
la dernière marque de paragraphe qui est aussi la marque de fin de
section.

Anacoluthe
« L'élan fait partie du saut. »
- Halil SARKIS