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

graphiques liés à un fichier excel

6 réponses
Avatar
Louis
J'ai ins=E9r=E9 via "copy-paste special-pastelink" des=20
graphiques Excel dans un document Word. Une fois la mise =E0=20
jour du fichier Excel termin=E9e, je voudrais casser le lien=20
du document Word.
Voici ma macro en Visual basics:

For Each xlchart In ActiveDocument.Shapes
If xlchart.Type =3D msoLinkedOLEObject Then
xlchart.LinkFormat.Update
xlchart.LinkFormat.BreakLink
End If
Next xlchart

Cela fonctionne, mais le format et la position des=20
graphiques est modifi=E9e. Pour rem=E9dier =E0 cela, il=20
faudrait, m'a-t-on dit, que les graphiques du document=20
Word soient des Fields et non des Shapes. La macro=20
deviendrait d=E8s lors

For Each xlchart In ActiveDocument.Fields
If xlchart.Type =3D msoLinkedOLEObject Then
xlchart.LinkFormat.Update
xlchart.LinkFormat.BreakLink
End If
Next xlchart

Mais je ne parviens pas =E0 faire cette transformation de=20
fields en shapes. Qu'en pensez-vous?

Mille mercis d'avance!

6 réponses

Avatar
Circé
Bonjour,

Avant tout, as-tu besoin d'une macro pour faire ça ?... Si c'est sur un seul
fichier, il suffit d'aller dans le menu Edition, Liaison : sélectionner tous
les liens, et cliquer sur le bouton "Rompre la liaison".

Circé

Louis wrote:
| J'ai inséré via "copy-paste special-pastelink" des
| graphiques Excel dans un document Word. Une fois la mise à
| jour du fichier Excel terminée, je voudrais casser le lien
| du document Word.
| Voici ma macro en Visual basics:
|
| For Each xlchart In ActiveDocument.Shapes
| If xlchart.Type = msoLinkedOLEObject Then
| xlchart.LinkFormat.Update
| xlchart.LinkFormat.BreakLink
| End If
| Next xlchart
|
| Cela fonctionne, mais le format et la position des
| graphiques est modifiée. Pour remédier à cela, il
| faudrait, m'a-t-on dit, que les graphiques du document
| Word soient des Fields et non des Shapes. La macro
| deviendrait dès lors
|
| For Each xlchart In ActiveDocument.Fields
| If xlchart.Type = msoLinkedOLEObject Then
| xlchart.LinkFormat.Update
| xlchart.LinkFormat.BreakLink
| End If
| Next xlchart
|
| Mais je ne parviens pas à faire cette transformation de
| fields en shapes. Qu'en pensez-vous?
|
| Mille mercis d'avance!
Avatar
Oui, j'ai besoin d'une macro, car je dois régulièrement
créer de nouveaux fichiers, tout en conservant les anciens
inchangés.
-----Message d'origine-----
Bonjour,

Avant tout, as-tu besoin d'une macro pour faire ça ?...
Si c'est sur un seul

fichier, il suffit d'aller dans le menu Edition,
Liaison : sélectionner tous

les liens, et cliquer sur le bouton "Rompre la liaison".

Circé

Louis wrote:
| J'ai inséré via "copy-paste special-pastelink" des
| graphiques Excel dans un document Word. Une fois la
mise à

| jour du fichier Excel terminée, je voudrais casser le
lien

| du document Word.
| Voici ma macro en Visual basics:
|
| For Each xlchart In ActiveDocument.Shapes
| If xlchart.Type = msoLinkedOLEObject Then
| xlchart.LinkFormat.Update
| xlchart.LinkFormat.BreakLink
| End If
| Next xlchart
|
| Cela fonctionne, mais le format et la position des
| graphiques est modifiée. Pour remédier à cela, il
| faudrait, m'a-t-on dit, que les graphiques du document
| Word soient des Fields et non des Shapes. La macro
| deviendrait dès lors
|
| For Each xlchart In ActiveDocument.Fields
| If xlchart.Type = msoLinkedOLEObject Then
| xlchart.LinkFormat.Update
| xlchart.LinkFormat.BreakLink
| End If
| Next xlchart
|
| Mais je ne parviens pas à faire cette transformation de
| fields en shapes. Qu'en pensez-vous?
|
| Mille mercis d'avance!


.



Avatar
Circé
Bonjour,

Les objets de ce type sont bien des champs. Ce sont des champs Link.
Il faut peut être voir de ce côté-là, par exemple :
For Each champ In ActiveDocument.Fields
If champ.Type = wdFieldLink Then
champ.LinkFormat.Update
champ.LinkFormat.BreakLink
End If
Next champ

Mais, bon, je pense que les pros de la macro ne vont pas tarder à passer...
;-))

Circé

wrote:
| Oui, j'ai besoin d'une macro, car je dois régulièrement
| créer de nouveaux fichiers, tout en conservant les anciens
| inchangés.
|| -----Message d'origine-----
|| Bonjour,
||
|| Avant tout, as-tu besoin d'une macro pour faire ça ?... Si c'est sur
|| un seul fichier, il suffit d'aller dans le menu Edition,
| Liaison : sélectionner tous
|| les liens, et cliquer sur le bouton "Rompre la liaison".
||
|| Circé
||
|| Louis wrote:
||| J'ai inséré via "copy-paste special-pastelink" des
||| graphiques Excel dans un document Word. Une fois la mise à
||| jour du fichier Excel terminée, je voudrais casser le lien
||| du document Word.
||| Voici ma macro en Visual basics:
|||
||| For Each xlchart In ActiveDocument.Shapes
||| If xlchart.Type = msoLinkedOLEObject Then
||| xlchart.LinkFormat.Update
||| xlchart.LinkFormat.BreakLink
||| End If
||| Next xlchart
|||
||| Cela fonctionne, mais le format et la position des
||| graphiques est modifiée. Pour remédier à cela, il
||| faudrait, m'a-t-on dit, que les graphiques du document
||| Word soient des Fields et non des Shapes. La macro
||| deviendrait dès lors
|||
||| For Each xlchart In ActiveDocument.Fields
||| If xlchart.Type = msoLinkedOLEObject Then
||| xlchart.LinkFormat.Update
||| xlchart.LinkFormat.BreakLink
||| End If
||| Next xlchart
|||
||| Mais je ne parviens pas à faire cette transformation de
||| fields en shapes. Qu'en pensez-vous?
|||
||| Mille mercis d'avance!
||
||
|| .
Avatar
merci beaucoup pour ton aide. Malheureusement, les liens
persistent, même avec les lignes que tu me proposes. Est-
il possible de transformer un shapes en un fields?
-----Message d'origine-----
Bonjour,

Les objets de ce type sont bien des champs. Ce sont des
champs Link.

Il faut peut être voir de ce côté-là, par exemple :
For Each champ In ActiveDocument.Fields
If champ.Type = wdFieldLink Then
champ.LinkFormat.Update
champ.LinkFormat.BreakLink
End If
Next champ

Mais, bon, je pense que les pros de la macro ne vont pas
tarder à passer...

;-))

Circé

wrote:
| Oui, j'ai besoin d'une macro, car je dois régulièrement
| créer de nouveaux fichiers, tout en conservant les
anciens

| inchangés.
|| -----Message d'origine-----
|| Bonjour,
||
|| Avant tout, as-tu besoin d'une macro pour faire
ça ?... Si c'est sur

|| un seul fichier, il suffit d'aller dans le menu
Edition,

| Liaison : sélectionner tous
|| les liens, et cliquer sur le bouton "Rompre la
liaison".

||
|| Circé
||
|| Louis wrote:
||| J'ai inséré via "copy-paste special-pastelink" des
||| graphiques Excel dans un document Word. Une fois la
mise à

||| jour du fichier Excel terminée, je voudrais casser le
lien

||| du document Word.
||| Voici ma macro en Visual basics:
|||
||| For Each xlchart In ActiveDocument.Shapes
||| If xlchart.Type = msoLinkedOLEObject Then
||| xlchart.LinkFormat.Update
||| xlchart.LinkFormat.BreakLink
||| End If
||| Next xlchart
|||
||| Cela fonctionne, mais le format et la position des
||| graphiques est modifiée. Pour remédier à cela, il
||| faudrait, m'a-t-on dit, que les graphiques du document
||| Word soient des Fields et non des Shapes. La macro
||| deviendrait dès lors
|||
||| For Each xlchart In ActiveDocument.Fields
||| If xlchart.Type = msoLinkedOLEObject Then
||| xlchart.LinkFormat.Update
||| xlchart.LinkFormat.BreakLink
||| End If
||| Next xlchart
|||
||| Mais je ne parviens pas à faire cette transformation
de

||| fields en shapes. Qu'en pensez-vous?
|||
||| Mille mercis d'avance!
||
||
|| .


.



Avatar
Circé
wrote:
| merci beaucoup pour ton aide. Malheureusement, les liens
| persistent, même avec les lignes que tu me proposes. Est-
| il possible de transformer un shapes en un fields?
|| -----Message d'origine-----
|| Bonjour,
||
|| Les objets de ce type sont bien des champs. Ce sont des champs Link.
|| Il faut peut être voir de ce côté-là, par exemple :
|| For Each champ In ActiveDocument.Fields
|| If champ.Type = wdFieldLink Then
|| champ.LinkFormat.Update
|| champ.LinkFormat.BreakLink
|| End If
|| Next champ
||
|| Mais, bon, je pense que les pros de la macro ne vont pas tarder à
|| passer... ;-))

Je ne comprends pas ton problème. J'ai viens de tester cette macro et ça
fonctionne parfaitement sur des graphiques provenant d'un collage avec lien.
A partir du moment où tes graphiques sont issues de copie-collage spécial
avec lien, ce sont des champs (fields).
Donc, commence par vérifier si ce sont bien des champs en sélectionnant ton
graphique et en faisant Maj+F9.

Au fait, avec quelle version d'Office travailles-tu ?

Circé

||
|| Circé
||
|| wrote:
||| Oui, j'ai besoin d'une macro, car je dois régulièrement
||| créer de nouveaux fichiers, tout en conservant les anciens
||| inchangés.
|||| -----Message d'origine-----
|||| Bonjour,
||||
|||| Avant tout, as-tu besoin d'une macro pour faire
| ça ?... Si c'est sur
|||| un seul fichier, il suffit d'aller dans le menu Edition, Liaison :
|||| sélectionner tous les liens, et cliquer sur le bouton "Rompre la
|||| liaison".
||||
|||| Circé
||||
|||| Louis wrote:
||||| J'ai inséré via "copy-paste special-pastelink" des
||||| graphiques Excel dans un document Word. Une fois la mise à
||||| jour du fichier Excel terminée, je voudrais casser le lien
||||| du document Word.
||||| Voici ma macro en Visual basics:
|||||
||||| For Each xlchart In ActiveDocument.Shapes
||||| If xlchart.Type = msoLinkedOLEObject Then
||||| xlchart.LinkFormat.Update
||||| xlchart.LinkFormat.BreakLink
||||| End If
||||| Next xlchart
|||||
||||| Cela fonctionne, mais le format et la position des
||||| graphiques est modifiée. Pour remédier à cela, il
||||| faudrait, m'a-t-on dit, que les graphiques du document
||||| Word soient des Fields et non des Shapes. La macro
||||| deviendrait dès lors
|||||
||||| For Each xlchart In ActiveDocument.Fields
||||| If xlchart.Type = msoLinkedOLEObject Then
||||| xlchart.LinkFormat.Update
||||| xlchart.LinkFormat.BreakLink
||||| End If
||||| Next xlchart
|||||
||||| Mais je ne parviens pas à faire cette transformation de
||||| fields en shapes. Qu'en pensez-vous?
|||||
||||| Mille mercis d'avance!
||||
||||
|||| .
||
||
|| .
Avatar
ça y est, j'ai trouvé, il suffit de désactiver "float over
text" du menu "format object".
-----Message d'origine-----
wrote:
| merci beaucoup pour ton aide. Malheureusement, les liens
| persistent, même avec les lignes que tu me proposes.
Est-

| il possible de transformer un shapes en un fields?
|| -----Message d'origine-----
|| Bonjour,
||
|| Les objets de ce type sont bien des champs. Ce sont
des champs Link.

|| Il faut peut être voir de ce côté-là, par exemple :
|| For Each champ In ActiveDocument.Fields
|| If champ.Type = wdFieldLink Then
|| champ.LinkFormat.Update
|| champ.LinkFormat.BreakLink
|| End If
|| Next champ
||
|| Mais, bon, je pense que les pros de la macro ne vont
pas tarder à

|| passer... ;-))

Je ne comprends pas ton problème. J'ai viens de tester
cette macro et ça

fonctionne parfaitement sur des graphiques provenant d'un
collage avec lien.

A partir du moment où tes graphiques sont issues de copie-
collage spécial

avec lien, ce sont des champs (fields).
Donc, commence par vérifier si ce sont bien des champs en
sélectionnant ton

graphique et en faisant Maj+F9.

Au fait, avec quelle version d'Office travailles-tu ?

Circé

||
|| Circé
||
|| wrote:
||| Oui, j'ai besoin d'une macro, car je dois
régulièrement

||| créer de nouveaux fichiers, tout en conservant les
anciens

||| inchangés.
|||| -----Message d'origine-----
|||| Bonjour,
||||
|||| Avant tout, as-tu besoin d'une macro pour faire
| ça ?... Si c'est sur
|||| un seul fichier, il suffit d'aller dans le menu
Edition, Liaison :

|||| sélectionner tous les liens, et cliquer sur le
bouton "Rompre la

|||| liaison".
||||
|||| Circé
||||
|||| Louis wrote:
||||| J'ai inséré via "copy-paste special-pastelink" des
||||| graphiques Excel dans un document Word. Une fois la
mise à

||||| jour du fichier Excel terminée, je voudrais casser
le lien

||||| du document Word.
||||| Voici ma macro en Visual basics:
|||||
||||| For Each xlchart In ActiveDocument.Shapes
||||| If xlchart.Type = msoLinkedOLEObject Then
||||| xlchart.LinkFormat.Update
||||| xlchart.LinkFormat.BreakLink
||||| End If
||||| Next xlchart
|||||
||||| Cela fonctionne, mais le format et la position des
||||| graphiques est modifiée. Pour remédier à cela, il
||||| faudrait, m'a-t-on dit, que les graphiques du
document

||||| Word soient des Fields et non des Shapes. La macro
||||| deviendrait dès lors
|||||
||||| For Each xlchart In ActiveDocument.Fields
||||| If xlchart.Type = msoLinkedOLEObject Then
||||| xlchart.LinkFormat.Update
||||| xlchart.LinkFormat.BreakLink
||||| End If
||||| Next xlchart
|||||
||||| Mais je ne parviens pas à faire cette
transformation de

||||| fields en shapes. Qu'en pensez-vous?
|||||
||||| Mille mercis d'avance!
||||
||||
|||| .
||
||
|| .


.