J'ai un document qui a en en-tête une image que je veux camoufler et non
enlever et, éventuellement remettre. J'ai fait une macro pour insérer un
carré (objet) blanc par dessus puis j'ai fait une deuxième macro pour enlever
le carré blanc en question, histoire de revoir mon image.
Ça ne fonctionne pas. On dirait qu'avec une macro, il est impossible de
sélectionner un objet... Des conseils svp?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Anacoluthe
Bonjour !
'jo' nous a écrit ...
J'ai un document qui a en en-tête une image que je veux camoufler et non enlever et, éventuellement remettre. J'ai fait une macro pour insérer un carré (objet) blanc par dessus puis j'ai fait une deuxième macro pour enlever le carré blanc en question, histoire de revoir mon image. Ça ne fonctionne pas. On dirait qu'avec une macro, il est impossible de sélectionner un objet... Des conseils svp?
Tout objet peut être sélectionné, il suffit de savoir où il est. Vos difficultés viennent probablement que vous n'arrivez pas à enregistrer cette sélection avec l'enregistreur de macro. Ansi la ligne ActiveDocument.Sections(1).Headers(1).Range.InlineShapes(1).Select sélectionne la première forme ou image alignée sur le texte placée dans l'en-tête primaire de la première section du document. Souvent il n'est même pas utile de sélectionner : vous pourriez par exemple masquer cet objet au lieu de le cacher avec du blanc.
Anacoluthe « La vraie question est : pourquoi sélectionner? Et je ne connais pas la réponse. » - Albert JACQUARD
Bonjour !
'jo' nous a écrit ...
J'ai un document qui a en en-tête une image que je veux camoufler et non
enlever et, éventuellement remettre. J'ai fait une macro pour insérer un
carré (objet) blanc par dessus puis j'ai fait une deuxième macro pour enlever
le carré blanc en question, histoire de revoir mon image.
Ça ne fonctionne pas. On dirait qu'avec une macro, il est impossible de
sélectionner un objet... Des conseils svp?
Tout objet peut être sélectionné, il suffit de savoir où il est.
Vos difficultés viennent probablement que vous n'arrivez pas à
enregistrer cette sélection avec l'enregistreur de macro.
Ansi la ligne
ActiveDocument.Sections(1).Headers(1).Range.InlineShapes(1).Select
sélectionne la première forme ou image alignée sur le texte placée
dans l'en-tête primaire de la première section du document.
Souvent il n'est même pas utile de sélectionner : vous pourriez
par exemple masquer cet objet au lieu de le cacher avec du blanc.
Anacoluthe
« La vraie question est : pourquoi sélectionner?
Et je ne connais pas la réponse. »
- Albert JACQUARD
J'ai un document qui a en en-tête une image que je veux camoufler et non enlever et, éventuellement remettre. J'ai fait une macro pour insérer un carré (objet) blanc par dessus puis j'ai fait une deuxième macro pour enlever le carré blanc en question, histoire de revoir mon image. Ça ne fonctionne pas. On dirait qu'avec une macro, il est impossible de sélectionner un objet... Des conseils svp?
Tout objet peut être sélectionné, il suffit de savoir où il est. Vos difficultés viennent probablement que vous n'arrivez pas à enregistrer cette sélection avec l'enregistreur de macro. Ansi la ligne ActiveDocument.Sections(1).Headers(1).Range.InlineShapes(1).Select sélectionne la première forme ou image alignée sur le texte placée dans l'en-tête primaire de la première section du document. Souvent il n'est même pas utile de sélectionner : vous pourriez par exemple masquer cet objet au lieu de le cacher avec du blanc.
Anacoluthe « La vraie question est : pourquoi sélectionner? Et je ne connais pas la réponse. » - Albert JACQUARD
jo
merci d'avoir pris le temps de me répondre. Ce que vous dites est à peu près en ce sens que ma ligne de commande me nomme l'objet en question. Mais pour une raison obscure, n'arrive pas vraiment à la détecter. Pour ce qui est de masquer l'objet en question, vous pensez à quoi exactement?
J'ai essayé plusieurs choses et pour masquer, camoufler ou enlever, ca va bien... c'est pour la remettre qui me cause un problème.
Ah oui, j'oubliais, mes macros fonctionnent sur mon poste (Office 2000) mais si je les transferts sur un poste XP (Office XP), elles ne fonctionnent plus. Et ça me prend une solution universelle.!
Merci beaucouP!
Bonjour !
'jo' nous a écrit ...
J'ai un document qui a en en-tête une image que je veux camoufler et non enlever et, éventuellement remettre. J'ai fait une macro pour insérer un carré (objet) blanc par dessus puis j'ai fait une deuxième macro pour enlever le carré blanc en question, histoire de revoir mon image. Ça ne fonctionne pas. On dirait qu'avec une macro, il est impossible de sélectionner un objet... Des conseils svp?
Tout objet peut être sélectionné, il suffit de savoir où il est. Vos difficultés viennent probablement que vous n'arrivez pas à enregistrer cette sélection avec l'enregistreur de macro. Ansi la ligne ActiveDocument.Sections(1).Headers(1).Range.InlineShapes(1).Select sélectionne la première forme ou image alignée sur le texte placée dans l'en-tête primaire de la première section du document. Souvent il n'est même pas utile de sélectionner : vous pourriez par exemple masquer cet objet au lieu de le cacher avec du blanc.
Anacoluthe « La vraie question est : pourquoi sélectionner? Et je ne connais pas la réponse. » - Albert JACQUARD
merci d'avoir pris le temps de me répondre. Ce que vous dites est à peu près
en ce sens que ma ligne de commande me nomme l'objet en question. Mais pour
une raison obscure, n'arrive pas vraiment à la détecter. Pour ce qui est de
masquer l'objet en question, vous pensez à quoi exactement?
J'ai essayé plusieurs choses et pour masquer, camoufler ou enlever, ca va
bien... c'est pour la remettre qui me cause un problème.
Ah oui, j'oubliais, mes macros fonctionnent sur mon poste (Office 2000) mais
si je les transferts sur un poste XP (Office XP), elles ne fonctionnent plus.
Et ça me prend une solution universelle.!
Merci beaucouP!
Bonjour !
'jo' nous a écrit ...
J'ai un document qui a en en-tête une image que je veux camoufler et non
enlever et, éventuellement remettre. J'ai fait une macro pour insérer un
carré (objet) blanc par dessus puis j'ai fait une deuxième macro pour enlever
le carré blanc en question, histoire de revoir mon image.
Ça ne fonctionne pas. On dirait qu'avec une macro, il est impossible de
sélectionner un objet... Des conseils svp?
Tout objet peut être sélectionné, il suffit de savoir où il est.
Vos difficultés viennent probablement que vous n'arrivez pas à
enregistrer cette sélection avec l'enregistreur de macro.
Ansi la ligne
ActiveDocument.Sections(1).Headers(1).Range.InlineShapes(1).Select
sélectionne la première forme ou image alignée sur le texte placée
dans l'en-tête primaire de la première section du document.
Souvent il n'est même pas utile de sélectionner : vous pourriez
par exemple masquer cet objet au lieu de le cacher avec du blanc.
Anacoluthe
« La vraie question est : pourquoi sélectionner?
Et je ne connais pas la réponse. »
- Albert JACQUARD
merci d'avoir pris le temps de me répondre. Ce que vous dites est à peu près en ce sens que ma ligne de commande me nomme l'objet en question. Mais pour une raison obscure, n'arrive pas vraiment à la détecter. Pour ce qui est de masquer l'objet en question, vous pensez à quoi exactement?
J'ai essayé plusieurs choses et pour masquer, camoufler ou enlever, ca va bien... c'est pour la remettre qui me cause un problème.
Ah oui, j'oubliais, mes macros fonctionnent sur mon poste (Office 2000) mais si je les transferts sur un poste XP (Office XP), elles ne fonctionnent plus. Et ça me prend une solution universelle.!
Merci beaucouP!
Bonjour !
'jo' nous a écrit ...
J'ai un document qui a en en-tête une image que je veux camoufler et non enlever et, éventuellement remettre. J'ai fait une macro pour insérer un carré (objet) blanc par dessus puis j'ai fait une deuxième macro pour enlever le carré blanc en question, histoire de revoir mon image. Ça ne fonctionne pas. On dirait qu'avec une macro, il est impossible de sélectionner un objet... Des conseils svp?
Tout objet peut être sélectionné, il suffit de savoir où il est. Vos difficultés viennent probablement que vous n'arrivez pas à enregistrer cette sélection avec l'enregistreur de macro. Ansi la ligne ActiveDocument.Sections(1).Headers(1).Range.InlineShapes(1).Select sélectionne la première forme ou image alignée sur le texte placée dans l'en-tête primaire de la première section du document. Souvent il n'est même pas utile de sélectionner : vous pourriez par exemple masquer cet objet au lieu de le cacher avec du blanc.
Anacoluthe « La vraie question est : pourquoi sélectionner? Et je ne connais pas la réponse. » - Albert JACQUARD
Geo
Bonjour jo
merci d'avoir pris le temps de me répondre. Ce que vous dites est à peu près en ce sens que ma ligne de commande me nomme l'objet en question. Mais pour une raison obscure, n'arrive pas vraiment à la détecter.
ActiveDocument.Sections(1).Headers(1).Range.InlineShapes(1).Select indique la première section etc, il faut donc vérifier que les indices sont les bons. Sinon essayer ActiveDocument.Sections(1).Headers(1).Shapes(1).Select
Pour ce qui est de masquer l'objet en question, vous pensez à quoi exactement?
Par exemple : ActiveDocument.Sections(1).Headers(1).Shapes(1).Visible = msoFalse
Ah oui, j'oubliais, mes macros fonctionnent sur mon poste (Office 2000) mais si je les transferts sur un poste XP (Office XP), elles ne fonctionnent plus.
vérifier le niveau de sécurité dans Outils macros.
--
A+
Bonjour jo
merci d'avoir pris le temps de me répondre. Ce que vous dites est à
peu près en ce sens que ma ligne de commande me nomme l'objet en
question. Mais pour une raison obscure, n'arrive pas vraiment à la
détecter.
ActiveDocument.Sections(1).Headers(1).Range.InlineShapes(1).Select
indique la première section etc, il faut donc vérifier que les indices sont
les bons.
Sinon essayer
ActiveDocument.Sections(1).Headers(1).Shapes(1).Select
Pour ce qui est de masquer l'objet en question, vous
pensez à quoi exactement?
Par exemple :
ActiveDocument.Sections(1).Headers(1).Shapes(1).Visible = msoFalse
Ah oui, j'oubliais, mes macros fonctionnent sur mon poste (Office
2000) mais si je les transferts sur un poste XP (Office XP), elles ne
fonctionnent plus.
vérifier le niveau de sécurité dans Outils macros.
merci d'avoir pris le temps de me répondre. Ce que vous dites est à peu près en ce sens que ma ligne de commande me nomme l'objet en question. Mais pour une raison obscure, n'arrive pas vraiment à la détecter.
ActiveDocument.Sections(1).Headers(1).Range.InlineShapes(1).Select indique la première section etc, il faut donc vérifier que les indices sont les bons. Sinon essayer ActiveDocument.Sections(1).Headers(1).Shapes(1).Select
Pour ce qui est de masquer l'objet en question, vous pensez à quoi exactement?
Par exemple : ActiveDocument.Sections(1).Headers(1).Shapes(1).Visible = msoFalse
Ah oui, j'oubliais, mes macros fonctionnent sur mon poste (Office 2000) mais si je les transferts sur un poste XP (Office XP), elles ne fonctionnent plus.
vérifier le niveau de sécurité dans Outils macros.
--
A+
Anacoluthe
Bonjour !
'jo' nous a écrit ...
Pour ce qui est de masquer l'objet en question, vous pensez à quoi exactement?
Sélectionnez l'image alignée sur le texte et faites Format / Police / Attributs: Masqué ensuite utilisez le bouton Afficher/Masquer ¶ et voyez l'aperçu avant impression
Ah oui, j'oubliais, mes macros fonctionnent sur mon poste (Office 2000) mais si je les transferts sur un poste XP (Office XP), elles ne fonctionnent plus.
Les macros écrites dans WD2000 fonctionnent le plus souvent sans problème de compatibilité dans WD2002. Votre code contient qqch de spécifique à ce poste ou vous n'avez pas déplacé correctement tout le code (par exemple il en est resté dans un modèle)...
Anacoluthe « Le monde est un grand bal où chacun est masqué. » - VAUVENARGUES
Bonjour !
'jo' nous a écrit ...
Pour ce qui est de masquer l'objet en question, vous pensez à quoi exactement?
Sélectionnez l'image alignée sur le texte et faites
Format / Police / Attributs: Masqué ensuite utilisez le bouton
Afficher/Masquer ¶ et voyez l'aperçu avant impression
Ah oui, j'oubliais, mes macros fonctionnent sur mon poste (Office 2000) mais
si je les transferts sur un poste XP (Office XP), elles ne fonctionnent plus.
Les macros écrites dans WD2000 fonctionnent le plus souvent
sans problème de compatibilité dans WD2002. Votre code contient qqch
de spécifique à ce poste ou vous n'avez pas déplacé correctement
tout le code (par exemple il en est resté dans un modèle)...
Anacoluthe
« Le monde est un grand bal où chacun est masqué. »
- VAUVENARGUES
Pour ce qui est de masquer l'objet en question, vous pensez à quoi exactement?
Sélectionnez l'image alignée sur le texte et faites Format / Police / Attributs: Masqué ensuite utilisez le bouton Afficher/Masquer ¶ et voyez l'aperçu avant impression
Ah oui, j'oubliais, mes macros fonctionnent sur mon poste (Office 2000) mais si je les transferts sur un poste XP (Office XP), elles ne fonctionnent plus.
Les macros écrites dans WD2000 fonctionnent le plus souvent sans problème de compatibilité dans WD2002. Votre code contient qqch de spécifique à ce poste ou vous n'avez pas déplacé correctement tout le code (par exemple il en est resté dans un modèle)...
Anacoluthe « Le monde est un grand bal où chacun est masqué. » - VAUVENARGUES
Jean-Guy Marcil
jo was telling us: jo nous racontait que :
J'ai un document qui a en en-tête une image que je veux camoufler et non enlever et, éventuellement remettre. J'ai fait une macro pour insérer un carré (objet) blanc par dessus puis j'ai fait une deuxième macro pour enlever le carré blanc en question, histoire de revoir mon image.
Ça ne fonctionne pas. On dirait qu'avec une macro, il est impossible de sélectionner un objet... Des conseils svp?
À mon avis il est plus simple de donner un nom à la forme lors de sa création et d'utiliser ce nom par la suite pour manipuler ou supprimer la forme. De cette façon, pas besoin de compter si on veut la Xième forme ou de la sélectionner.
Il faut insérer un signet dans un paragraphe près de l'image qu'on veut cacher, sinon, il faut définir un objet Range, ex.: Set MyBookRge = .Paragraphs(1).Range pourrait être utilisé dans le code ci dessous aiu lieu de Set MyBookRge = .Bookmarks("Image").Range si on avait pas de signet. Aussi, il faudra faire des essais pour mesurer la position et la grandeur de la forme requise. Enfin, je dois recréé le signet dans la macro de suppression car si le signet représente un point d'inertion, il sera supprimé en même temps que la forme.
'_______________________________________ Const ShapeName As String = "CacheLogo" Const BookName As String = "Image" '_______________________________________ Sub AddShape()
Dim MyShape As Shape Dim MyBookRge As Range
With ActiveDocument
Set MyBookRge = .Bookmarks(BookName).Range
Set MyShape = Shapes.AddShape(Type:=msoShapeRectangle, _ Left:P, Top:P, Width:0, Height: 0, Anchor:=MyBookRge) With MyShape .Name = ShapeName .Fill.ForeColor.RGB = RGB(255, 255, 255) .Line.Visible = msoFalse End With End With
End Sub '_______________________________________
'_______________________________________ Sub DelShape()
-- Salut! _______________________________________ Jean-Guy Marcil - Word MVP
Word MVP site: http://www.word.mvps.org
jo was telling us:
jo nous racontait que :
J'ai un document qui a en en-tête une image que je veux camoufler et
non enlever et, éventuellement remettre. J'ai fait une macro pour
insérer un carré (objet) blanc par dessus puis j'ai fait une deuxième
macro pour enlever le carré blanc en question, histoire de revoir mon
image.
Ça ne fonctionne pas. On dirait qu'avec une macro, il est impossible
de sélectionner un objet... Des conseils svp?
À mon avis il est plus simple de donner un nom à la forme lors de sa
création et d'utiliser ce nom par la suite pour manipuler ou supprimer la
forme. De cette façon, pas besoin de compter si on veut la Xième forme ou de
la sélectionner.
Il faut insérer un signet dans un paragraphe près de l'image qu'on veut
cacher, sinon, il faut définir un objet Range, ex.:
Set MyBookRge = .Paragraphs(1).Range pourrait être utilisé dans le code ci
dessous aiu lieu de Set MyBookRge = .Bookmarks("Image").Range si on avait
pas de signet. Aussi, il faudra faire des essais pour mesurer la position et
la grandeur de la forme requise.
Enfin, je dois recréé le signet dans la macro de suppression car si le
signet représente un point d'inertion, il sera supprimé en même temps que la
forme.
'_______________________________________
Const ShapeName As String = "CacheLogo"
Const BookName As String = "Image"
'_______________________________________
Sub AddShape()
Dim MyShape As Shape
Dim MyBookRge As Range
With ActiveDocument
Set MyBookRge = .Bookmarks(BookName).Range
Set MyShape = Shapes.AddShape(Type:=msoShapeRectangle, _
Left:P, Top:P, Width:0, Height: 0, Anchor:=MyBookRge)
With MyShape
.Name = ShapeName
.Fill.ForeColor.RGB = RGB(255, 255, 255)
.Line.Visible = msoFalse
End With
End With
End Sub
'_______________________________________
'_______________________________________
Sub DelShape()
J'ai un document qui a en en-tête une image que je veux camoufler et non enlever et, éventuellement remettre. J'ai fait une macro pour insérer un carré (objet) blanc par dessus puis j'ai fait une deuxième macro pour enlever le carré blanc en question, histoire de revoir mon image.
Ça ne fonctionne pas. On dirait qu'avec une macro, il est impossible de sélectionner un objet... Des conseils svp?
À mon avis il est plus simple de donner un nom à la forme lors de sa création et d'utiliser ce nom par la suite pour manipuler ou supprimer la forme. De cette façon, pas besoin de compter si on veut la Xième forme ou de la sélectionner.
Il faut insérer un signet dans un paragraphe près de l'image qu'on veut cacher, sinon, il faut définir un objet Range, ex.: Set MyBookRge = .Paragraphs(1).Range pourrait être utilisé dans le code ci dessous aiu lieu de Set MyBookRge = .Bookmarks("Image").Range si on avait pas de signet. Aussi, il faudra faire des essais pour mesurer la position et la grandeur de la forme requise. Enfin, je dois recréé le signet dans la macro de suppression car si le signet représente un point d'inertion, il sera supprimé en même temps que la forme.
'_______________________________________ Const ShapeName As String = "CacheLogo" Const BookName As String = "Image" '_______________________________________ Sub AddShape()
Dim MyShape As Shape Dim MyBookRge As Range
With ActiveDocument
Set MyBookRge = .Bookmarks(BookName).Range
Set MyShape = Shapes.AddShape(Type:=msoShapeRectangle, _ Left:P, Top:P, Width:0, Height: 0, Anchor:=MyBookRge) With MyShape .Name = ShapeName .Fill.ForeColor.RGB = RGB(255, 255, 255) .Line.Visible = msoFalse End With End With
End Sub '_______________________________________
'_______________________________________ Sub DelShape()
-- Salut! _______________________________________ Jean-Guy Marcil - Word MVP
Word MVP site: http://www.word.mvps.org
jo
Merci Jean-Guy, je vais tester cela la semaine prochaine et vous en redonne des nouvelles lundi!
Merci beaucoup!
jo was telling us: jo nous racontait que :
J'ai un document qui a en en-tête une image que je veux camoufler et non enlever et, éventuellement remettre. J'ai fait une macro pour insérer un carré (objet) blanc par dessus puis j'ai fait une deuxième macro pour enlever le carré blanc en question, histoire de revoir mon image.
Ça ne fonctionne pas. On dirait qu'avec une macro, il est impossible de sélectionner un objet... Des conseils svp?
À mon avis il est plus simple de donner un nom à la forme lors de sa création et d'utiliser ce nom par la suite pour manipuler ou supprimer la forme. De cette façon, pas besoin de compter si on veut la Xième forme ou de la sélectionner.
Il faut insérer un signet dans un paragraphe près de l'image qu'on veut cacher, sinon, il faut définir un objet Range, ex.: Set MyBookRge = .Paragraphs(1).Range pourrait être utilisé dans le code ci dessous aiu lieu de Set MyBookRge = .Bookmarks("Image").Range si on avait pas de signet. Aussi, il faudra faire des essais pour mesurer la position et la grandeur de la forme requise. Enfin, je dois recréé le signet dans la macro de suppression car si le signet représente un point d'inertion, il sera supprimé en même temps que la forme.
'_______________________________________ Const ShapeName As String = "CacheLogo" Const BookName As String = "Image" '_______________________________________ Sub AddShape()
Dim MyShape As Shape Dim MyBookRge As Range
With ActiveDocument
Set MyBookRge = .Bookmarks(BookName).Range
Set MyShape = Shapes.AddShape(Type:=msoShapeRectangle, _ Left:P, Top:P, Width:0, Height: 0, Anchor:=MyBookRge) With MyShape .Name = ShapeName .Fill.ForeColor.RGB = RGB(255, 255, 255) .Line.Visible = msoFalse End With End With
End Sub '_______________________________________
'_______________________________________ Sub DelShape()
-- Salut! _______________________________________ Jean-Guy Marcil - Word MVP
Word MVP site: http://www.word.mvps.org
Merci Jean-Guy, je vais tester cela la semaine prochaine et vous en redonne
des nouvelles lundi!
Merci beaucoup!
jo was telling us:
jo nous racontait que :
J'ai un document qui a en en-tête une image que je veux camoufler et
non enlever et, éventuellement remettre. J'ai fait une macro pour
insérer un carré (objet) blanc par dessus puis j'ai fait une deuxième
macro pour enlever le carré blanc en question, histoire de revoir mon
image.
Ça ne fonctionne pas. On dirait qu'avec une macro, il est impossible
de sélectionner un objet... Des conseils svp?
À mon avis il est plus simple de donner un nom à la forme lors de sa
création et d'utiliser ce nom par la suite pour manipuler ou supprimer la
forme. De cette façon, pas besoin de compter si on veut la Xième forme ou de
la sélectionner.
Il faut insérer un signet dans un paragraphe près de l'image qu'on veut
cacher, sinon, il faut définir un objet Range, ex.:
Set MyBookRge = .Paragraphs(1).Range pourrait être utilisé dans le code ci
dessous aiu lieu de Set MyBookRge = .Bookmarks("Image").Range si on avait
pas de signet. Aussi, il faudra faire des essais pour mesurer la position et
la grandeur de la forme requise.
Enfin, je dois recréé le signet dans la macro de suppression car si le
signet représente un point d'inertion, il sera supprimé en même temps que la
forme.
'_______________________________________
Const ShapeName As String = "CacheLogo"
Const BookName As String = "Image"
'_______________________________________
Sub AddShape()
Dim MyShape As Shape
Dim MyBookRge As Range
With ActiveDocument
Set MyBookRge = .Bookmarks(BookName).Range
Set MyShape = Shapes.AddShape(Type:=msoShapeRectangle, _
Left:P, Top:P, Width:0, Height: 0, Anchor:=MyBookRge)
With MyShape
.Name = ShapeName
.Fill.ForeColor.RGB = RGB(255, 255, 255)
.Line.Visible = msoFalse
End With
End With
End Sub
'_______________________________________
'_______________________________________
Sub DelShape()
Merci Jean-Guy, je vais tester cela la semaine prochaine et vous en redonne des nouvelles lundi!
Merci beaucoup!
jo was telling us: jo nous racontait que :
J'ai un document qui a en en-tête une image que je veux camoufler et non enlever et, éventuellement remettre. J'ai fait une macro pour insérer un carré (objet) blanc par dessus puis j'ai fait une deuxième macro pour enlever le carré blanc en question, histoire de revoir mon image.
Ça ne fonctionne pas. On dirait qu'avec une macro, il est impossible de sélectionner un objet... Des conseils svp?
À mon avis il est plus simple de donner un nom à la forme lors de sa création et d'utiliser ce nom par la suite pour manipuler ou supprimer la forme. De cette façon, pas besoin de compter si on veut la Xième forme ou de la sélectionner.
Il faut insérer un signet dans un paragraphe près de l'image qu'on veut cacher, sinon, il faut définir un objet Range, ex.: Set MyBookRge = .Paragraphs(1).Range pourrait être utilisé dans le code ci dessous aiu lieu de Set MyBookRge = .Bookmarks("Image").Range si on avait pas de signet. Aussi, il faudra faire des essais pour mesurer la position et la grandeur de la forme requise. Enfin, je dois recréé le signet dans la macro de suppression car si le signet représente un point d'inertion, il sera supprimé en même temps que la forme.
'_______________________________________ Const ShapeName As String = "CacheLogo" Const BookName As String = "Image" '_______________________________________ Sub AddShape()
Dim MyShape As Shape Dim MyBookRge As Range
With ActiveDocument
Set MyBookRge = .Bookmarks(BookName).Range
Set MyShape = Shapes.AddShape(Type:=msoShapeRectangle, _ Left:P, Top:P, Width:0, Height: 0, Anchor:=MyBookRge) With MyShape .Name = ShapeName .Fill.ForeColor.RGB = RGB(255, 255, 255) .Line.Visible = msoFalse End With End With
End Sub '_______________________________________
'_______________________________________ Sub DelShape()