Je développe un model (Report.dot) dans MS Word XP pour un grand document.
Ce model doit contenir une macro VBA qui permet d’inséré une nouvelle page
orienté paysage, mais avec le texte, le n° de page, et les logos dans
l’en-tête et le pied de page positionné à droite et à gauche de la page
plutôt que en haut et en bas.
La macro VBA est déjà bien avancé (insertion nouvelle section, orientation
de la page et insertion de frames orienté verticalement avec le texte) mais
quand il s’agit de tourner les images des logos et de les positionner
correctement, je reçois l’erreur : ‘-2147024891 (80070005)’ – Ce membre n’est
pas accessible dans cette vue’
Le code en question est la suivante :
Dim rngHeader as Range
Dim shpLogo as Shape
With ActiveDocument.Sections(intSectionID)
Set rngHeader = .Headers(wdHeaderFooterPrimary).Range
End With
For Each shpLogo In rngHeader.ShapeRange
shpLogo.Select ‘ <= Erreur ici
Selection.ShapeRange.IncrementRotation 90#
Next
Si quelqu’un peut me donné un pointeur, je serrais TRES reconnaissant !
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
Circ
Bonjour Lars,
J'ai un truc pour ça beaucoup plus simple :
- Tu crées ta page en paysage, avec logo bien placé, pagination, etc. - Tu insères le saut de section (qui contient donc toute la mise en page de la page paysage) - Tu fais une insertion automatique de ton saut de section - Ta macro insère le saut de section
Mes modèles fonctionnent de cette manière et ça fonctionne très bien, sans souci.
Circé http://faqword.free.fr
Lars a formulé la demande :
Bonjour,
Je développe un model (Report.dot) dans MS Word XP pour un grand document. Ce model doit contenir une macro VBA qui permet d’inséré une nouvelle page orienté paysage, mais avec le texte, le n° de page, et les logos dans l’en-tête et le pied de page positionné à droite et à gauche de la page plutôt que en haut et en bas.
La macro VBA est déjà bien avancé (insertion nouvelle section, orientation de la page et insertion de frames orienté verticalement avec le texte) mais quand il s’agit de tourner les images des logos et de les positionner correctement, je reçois l’erreur : ‘-2147024891 (80070005)’ – Ce membre n’est pas accessible dans cette vue’
Le code en question est la suivante :
Dim rngHeader as Range Dim shpLogo as Shape
With ActiveDocument.Sections(intSectionID) Set rngHeader = .Headers(wdHeaderFooterPrimary).Range End With
For Each shpLogo In rngHeader.ShapeRange shpLogo.Select ‘ <= Erreur ici Selection.ShapeRange.IncrementRotation 90# Next
Si quelqu’un peut me donné un pointeur, je serrais TRES reconnaissant !
Bonjour Lars,
J'ai un truc pour ça beaucoup plus simple :
- Tu crées ta page en paysage, avec logo bien placé, pagination, etc.
- Tu insères le saut de section (qui contient donc toute la mise en
page de la page paysage)
- Tu fais une insertion automatique de ton saut de section
- Ta macro insère le saut de section
Mes modèles fonctionnent de cette manière et ça fonctionne très bien,
sans souci.
Circé
http://faqword.free.fr
Lars a formulé la demande :
Bonjour,
Je développe un model (Report.dot) dans MS Word XP pour un grand document.
Ce model doit contenir une macro VBA qui permet d’inséré une nouvelle page
orienté paysage, mais avec le texte, le n° de page, et les logos dans
l’en-tête et le pied de page positionné à droite et à gauche de la page
plutôt que en haut et en bas.
La macro VBA est déjà bien avancé (insertion nouvelle section, orientation
de la page et insertion de frames orienté verticalement avec le texte) mais
quand il s’agit de tourner les images des logos et de les positionner
correctement, je reçois l’erreur : ‘-2147024891 (80070005)’ – Ce membre n’est
pas accessible dans cette vue’
Le code en question est la suivante :
Dim rngHeader as Range
Dim shpLogo as Shape
With ActiveDocument.Sections(intSectionID)
Set rngHeader = .Headers(wdHeaderFooterPrimary).Range
End With
For Each shpLogo In rngHeader.ShapeRange
shpLogo.Select ‘ <= Erreur ici
Selection.ShapeRange.IncrementRotation 90#
Next
Si quelqu’un peut me donné un pointeur, je serrais TRES reconnaissant !
- Tu crées ta page en paysage, avec logo bien placé, pagination, etc. - Tu insères le saut de section (qui contient donc toute la mise en page de la page paysage) - Tu fais une insertion automatique de ton saut de section - Ta macro insère le saut de section
Mes modèles fonctionnent de cette manière et ça fonctionne très bien, sans souci.
Circé http://faqword.free.fr
Lars a formulé la demande :
Bonjour,
Je développe un model (Report.dot) dans MS Word XP pour un grand document. Ce model doit contenir une macro VBA qui permet d’inséré une nouvelle page orienté paysage, mais avec le texte, le n° de page, et les logos dans l’en-tête et le pied de page positionné à droite et à gauche de la page plutôt que en haut et en bas.
La macro VBA est déjà bien avancé (insertion nouvelle section, orientation de la page et insertion de frames orienté verticalement avec le texte) mais quand il s’agit de tourner les images des logos et de les positionner correctement, je reçois l’erreur : ‘-2147024891 (80070005)’ – Ce membre n’est pas accessible dans cette vue’
Le code en question est la suivante :
Dim rngHeader as Range Dim shpLogo as Shape
With ActiveDocument.Sections(intSectionID) Set rngHeader = .Headers(wdHeaderFooterPrimary).Range End With
For Each shpLogo In rngHeader.ShapeRange shpLogo.Select ‘ <= Erreur ici Selection.ShapeRange.IncrementRotation 90# Next
Si quelqu’un peut me donné un pointeur, je serrais TRES reconnaissant !
Anacoluthe
Bonjour !
'Lars' nous a écrit ...
For Each shpLogo In rngHeader.ShapeRange shpLogo.Select <= Erreur ici Selection.ShapeRange.IncrementRotation 90# Next
Vous ne pouvez pas /sélectionner/ un objet si cet objet n'est pas visible dans la fenêtre de sélection !!!!!!!!!!
Votre code SELECT vous oblige donc à AFFICHER les en-têtes/pieds de page Affichage / En-tête et pied de page
Ceci dit vous faites l'erreur hyperclassique de tout débutant en VBA : Dans 99% des cas sélectionner ne sert à RIEN en VBA !! La Selection c'est bon pour l'utilisateur manuel et l'enregistreur de macros.
Si au lieu d'écrire Machin.Select Selection.FaisMoiCeci
Vous écrivez tout simplement Machin.FaisMoiCeci
1. Vous gagnez en code et en rapidité 2. Vous vous fichez de ce qui est affiché en ce moment dans la fenêtre active
Est-ce plus clair ?
PS: Suivez la piste de Circé. C'est la meilleure car vous allez galérer à calculer la rotation des ett/pdp alors qu'une fois construits à la main et incorporés dans une IA de section c'est tout simple. Même sans vba...
Anacoluthe « La vraie question est : pourquoi sélectionner? Et je ne connais pas la réponse. » - Albert JACQUARD
Bonjour !
'Lars' nous a écrit ...
For Each shpLogo In rngHeader.ShapeRange
shpLogo.Select <= Erreur ici
Selection.ShapeRange.IncrementRotation 90#
Next
Vous ne pouvez pas /sélectionner/ un objet si cet objet n'est pas
visible dans la fenêtre de sélection !!!!!!!!!!
Votre code SELECT vous oblige donc à AFFICHER les en-têtes/pieds de page
Affichage / En-tête et pied de page
Ceci dit vous faites l'erreur hyperclassique de tout débutant en VBA :
Dans 99% des cas sélectionner ne sert à RIEN en VBA !!
La Selection c'est bon pour l'utilisateur manuel et l'enregistreur de macros.
Si au lieu d'écrire
Machin.Select
Selection.FaisMoiCeci
Vous écrivez tout simplement
Machin.FaisMoiCeci
1. Vous gagnez en code et en rapidité
2. Vous vous fichez de ce qui est affiché en ce moment dans la fenêtre active
Est-ce plus clair ?
PS: Suivez la piste de Circé. C'est la meilleure car vous allez galérer
à calculer la rotation des ett/pdp alors qu'une fois construits à la main
et incorporés dans une IA de section c'est tout simple. Même sans vba...
Anacoluthe
« La vraie question est : pourquoi sélectionner?
Et je ne connais pas la réponse. »
- Albert JACQUARD
For Each shpLogo In rngHeader.ShapeRange shpLogo.Select <= Erreur ici Selection.ShapeRange.IncrementRotation 90# Next
Vous ne pouvez pas /sélectionner/ un objet si cet objet n'est pas visible dans la fenêtre de sélection !!!!!!!!!!
Votre code SELECT vous oblige donc à AFFICHER les en-têtes/pieds de page Affichage / En-tête et pied de page
Ceci dit vous faites l'erreur hyperclassique de tout débutant en VBA : Dans 99% des cas sélectionner ne sert à RIEN en VBA !! La Selection c'est bon pour l'utilisateur manuel et l'enregistreur de macros.
Si au lieu d'écrire Machin.Select Selection.FaisMoiCeci
Vous écrivez tout simplement Machin.FaisMoiCeci
1. Vous gagnez en code et en rapidité 2. Vous vous fichez de ce qui est affiché en ce moment dans la fenêtre active
Est-ce plus clair ?
PS: Suivez la piste de Circé. C'est la meilleure car vous allez galérer à calculer la rotation des ett/pdp alors qu'une fois construits à la main et incorporés dans une IA de section c'est tout simple. Même sans vba...
Anacoluthe « La vraie question est : pourquoi sélectionner? Et je ne connais pas la réponse. » - Albert JACQUARD
Circé
Bonjour anacoluthe,
Anacoluthe a exprimé avec précision :
PS: Suivez la piste de Circé. C'est la meilleure car vous allez galérer à calculer la rotation des ett/pdp alors qu'une fois construits à la main et incorporés dans une IA de section c'est tout simple. Même sans vba...
Contente que tu sois du même avis que moi.
En fait mon IA est composée d'un saut de section, d'un texte qui indique qu'on est en format paysage, puis d'un autre saut de section pour revenir en portrait.
La macro insère cette IA, et déplace la sélection sur le texte de la zone Paysage (prévenant qu'on est en portrait) ; ce qui fait que l'utilisateur a besoin de cliquer sur le bouton qui déclenche la macro et c'est tout, il est en bonne position pour saisir son texte.
Circé http://faqword.free.fr
Anacoluthe « La vraie question est : pourquoi sélectionner? Et je ne connais pas la réponse. » - Albert JACQUARD
Bonjour anacoluthe,
Anacoluthe a exprimé avec précision :
PS: Suivez la piste de Circé. C'est la meilleure car vous allez galérer
à calculer la rotation des ett/pdp alors qu'une fois construits à la main
et incorporés dans une IA de section c'est tout simple. Même sans vba...
Contente que tu sois du même avis que moi.
En fait mon IA est composée d'un saut de section, d'un texte qui
indique qu'on est en format paysage, puis d'un autre saut de section
pour revenir en portrait.
La macro insère cette IA, et déplace la sélection sur le texte de la
zone Paysage (prévenant qu'on est en portrait) ; ce qui fait que
l'utilisateur a besoin de cliquer sur le bouton qui déclenche la macro
et c'est tout, il est en bonne position pour saisir son texte.
Circé
http://faqword.free.fr
Anacoluthe
« La vraie question est : pourquoi sélectionner?
Et je ne connais pas la réponse. »
- Albert JACQUARD
PS: Suivez la piste de Circé. C'est la meilleure car vous allez galérer à calculer la rotation des ett/pdp alors qu'une fois construits à la main et incorporés dans une IA de section c'est tout simple. Même sans vba...
Contente que tu sois du même avis que moi.
En fait mon IA est composée d'un saut de section, d'un texte qui indique qu'on est en format paysage, puis d'un autre saut de section pour revenir en portrait.
La macro insère cette IA, et déplace la sélection sur le texte de la zone Paysage (prévenant qu'on est en portrait) ; ce qui fait que l'utilisateur a besoin de cliquer sur le bouton qui déclenche la macro et c'est tout, il est en bonne position pour saisir son texte.
Circé http://faqword.free.fr
Anacoluthe « La vraie question est : pourquoi sélectionner? Et je ne connais pas la réponse. » - Albert JACQUARD
Lars
Bonjour Circé,
Un grand merci pour ton feedback. C’est une piste intéressante, pourvu que cela puisse être réalisé par macro. Ce modèle sera utilisé dans une organisation ou les utilisateurs veulent insérer la nouvelle page paysage avec toute la mise en page correcte, par un clic depuis une nouvelle entrée dans le menu. Je te tiens au courant pour la suite.
-- Lars
Bonjour Lars,
J'ai un truc pour ça beaucoup plus simple :
- Tu crées ta page en paysage, avec logo bien placé, pagination, etc. - Tu insères le saut de section (qui contient donc toute la mise en page de la page paysage) - Tu fais une insertion automatique de ton saut de section - Ta macro insère le saut de section
Mes modèles fonctionnent de cette manière et ça fonctionne très bien, sans souci.
Circé http://faqword.free.fr
Lars a formulé la demande :
Bonjour,
Je développe un model (Report.dot) dans MS Word XP pour un grand document. Ce model doit contenir une macro VBA qui permet d’inséré une nouvelle page orienté paysage, mais avec le texte, le n° de page, et les logos dans l’en-tête et le pied de page positionné à droite et à gauche de la page plutôt que en haut et en bas.
La macro VBA est déjà bien avancé (insertion nouvelle section, orientation de la page et insertion de frames orienté verticalement avec le texte) mais quand il s’agit de tourner les images des logos et de les positionner correctement, je reçois l’erreur : ‘-2147024891 (80070005)’ – Ce membre n’est pas accessible dans cette vue’
Le code en question est la suivante :
Dim rngHeader as Range Dim shpLogo as Shape
With ActiveDocument.Sections(intSectionID) Set rngHeader = .Headers(wdHeaderFooterPrimary).Range End With
For Each shpLogo In rngHeader.ShapeRange shpLogo.Select ‘ <= Erreur ici Selection.ShapeRange.IncrementRotation 90# Next
Si quelqu’un peut me donné un pointeur, je serrais TRES reconnaissant !
Bonjour Circé,
Un grand merci pour ton feedback. C’est une piste intéressante, pourvu que
cela puisse être réalisé par macro. Ce modèle sera utilisé dans une
organisation ou les utilisateurs veulent insérer la nouvelle page paysage
avec toute la mise en page correcte, par un clic depuis une nouvelle entrée
dans le menu. Je te tiens au courant pour la suite.
--
Lars
Bonjour Lars,
J'ai un truc pour ça beaucoup plus simple :
- Tu crées ta page en paysage, avec logo bien placé, pagination, etc.
- Tu insères le saut de section (qui contient donc toute la mise en
page de la page paysage)
- Tu fais une insertion automatique de ton saut de section
- Ta macro insère le saut de section
Mes modèles fonctionnent de cette manière et ça fonctionne très bien,
sans souci.
Circé
http://faqword.free.fr
Lars a formulé la demande :
Bonjour,
Je développe un model (Report.dot) dans MS Word XP pour un grand document.
Ce model doit contenir une macro VBA qui permet d’inséré une nouvelle page
orienté paysage, mais avec le texte, le n° de page, et les logos dans
l’en-tête et le pied de page positionné à droite et à gauche de la page
plutôt que en haut et en bas.
La macro VBA est déjà bien avancé (insertion nouvelle section, orientation
de la page et insertion de frames orienté verticalement avec le texte) mais
quand il s’agit de tourner les images des logos et de les positionner
correctement, je reçois l’erreur : ‘-2147024891 (80070005)’ – Ce membre n’est
pas accessible dans cette vue’
Le code en question est la suivante :
Dim rngHeader as Range
Dim shpLogo as Shape
With ActiveDocument.Sections(intSectionID)
Set rngHeader = .Headers(wdHeaderFooterPrimary).Range
End With
For Each shpLogo In rngHeader.ShapeRange
shpLogo.Select ‘ <= Erreur ici
Selection.ShapeRange.IncrementRotation 90#
Next
Si quelqu’un peut me donné un pointeur, je serrais TRES reconnaissant !
Un grand merci pour ton feedback. C’est une piste intéressante, pourvu que cela puisse être réalisé par macro. Ce modèle sera utilisé dans une organisation ou les utilisateurs veulent insérer la nouvelle page paysage avec toute la mise en page correcte, par un clic depuis une nouvelle entrée dans le menu. Je te tiens au courant pour la suite.
-- Lars
Bonjour Lars,
J'ai un truc pour ça beaucoup plus simple :
- Tu crées ta page en paysage, avec logo bien placé, pagination, etc. - Tu insères le saut de section (qui contient donc toute la mise en page de la page paysage) - Tu fais une insertion automatique de ton saut de section - Ta macro insère le saut de section
Mes modèles fonctionnent de cette manière et ça fonctionne très bien, sans souci.
Circé http://faqword.free.fr
Lars a formulé la demande :
Bonjour,
Je développe un model (Report.dot) dans MS Word XP pour un grand document. Ce model doit contenir une macro VBA qui permet d’inséré une nouvelle page orienté paysage, mais avec le texte, le n° de page, et les logos dans l’en-tête et le pied de page positionné à droite et à gauche de la page plutôt que en haut et en bas.
La macro VBA est déjà bien avancé (insertion nouvelle section, orientation de la page et insertion de frames orienté verticalement avec le texte) mais quand il s’agit de tourner les images des logos et de les positionner correctement, je reçois l’erreur : ‘-2147024891 (80070005)’ – Ce membre n’est pas accessible dans cette vue’
Le code en question est la suivante :
Dim rngHeader as Range Dim shpLogo as Shape
With ActiveDocument.Sections(intSectionID) Set rngHeader = .Headers(wdHeaderFooterPrimary).Range End With
For Each shpLogo In rngHeader.ShapeRange shpLogo.Select ‘ <= Erreur ici Selection.ShapeRange.IncrementRotation 90# Next
Si quelqu’un peut me donné un pointeur, je serrais TRES reconnaissant !
Circ
Rebonjour Lars,
Lars a présenté l'énoncé suivant :
Bonjour Circé,
Un grand merci pour ton feedback. C’est une piste intéressante, pourvu que cela puisse être réalisé par macro. Ce modèle sera utilisé dans une organisation ou les utilisateurs veulent insérer la nouvelle page paysage avec toute la mise en page correcte, par un clic depuis une nouvelle entrée dans le menu. Je te tiens au courant pour la suite.
Pas de problème pour la macro... Peut être n'as tu pas lu ma réponse à anacoluthe.
Circé http://faqword.free.fr
-- Lars
Bonjour Lars,
J'ai un truc pour ça beaucoup plus simple :
- Tu crées ta page en paysage, avec logo bien placé, pagination, etc. - Tu insères le saut de section (qui contient donc toute la mise en page de la page paysage) - Tu fais une insertion automatique de ton saut de section - Ta macro insère le saut de section
Mes modèles fonctionnent de cette manière et ça fonctionne très bien, sans souci.
Circé http://faqword.free.fr
Lars a formulé la demande :
Bonjour,
Je développe un model (Report.dot) dans MS Word XP pour un grand document. Ce model doit contenir une macro VBA qui permet d’inséré une nouvelle page orienté paysage, mais avec le texte, le n° de page, et les logos dans l’en-tête et le pied de page positionné à droite et à gauche de la page plutôt que en haut et en bas.
La macro VBA est déjà bien avancé (insertion nouvelle section, orientation de la page et insertion de frames orienté verticalement avec le texte) mais quand il s’agit de tourner les images des logos et de les positionner correctement, je reçois l’erreur : ‘-2147024891 (80070005)’ – Ce membre n’est pas accessible dans cette vue’
Le code en question est la suivante :
Dim rngHeader as Range Dim shpLogo as Shape
With ActiveDocument.Sections(intSectionID) Set rngHeader = .Headers(wdHeaderFooterPrimary).Range End With
For Each shpLogo In rngHeader.ShapeRange shpLogo.Select ‘ <= Erreur ici Selection.ShapeRange.IncrementRotation 90# Next
Si quelqu’un peut me donné un pointeur, je serrais TRES reconnaissant !
Rebonjour Lars,
Lars a présenté l'énoncé suivant :
Bonjour Circé,
Un grand merci pour ton feedback. C’est une piste intéressante, pourvu que
cela puisse être réalisé par macro. Ce modèle sera utilisé dans une
organisation ou les utilisateurs veulent insérer la nouvelle page paysage
avec toute la mise en page correcte, par un clic depuis une nouvelle entrée
dans le menu. Je te tiens au courant pour la suite.
Pas de problème pour la macro... Peut être n'as tu pas lu ma réponse à
anacoluthe.
Circé
http://faqword.free.fr
--
Lars
Bonjour Lars,
J'ai un truc pour ça beaucoup plus simple :
- Tu crées ta page en paysage, avec logo bien placé, pagination, etc.
- Tu insères le saut de section (qui contient donc toute la mise en
page de la page paysage)
- Tu fais une insertion automatique de ton saut de section
- Ta macro insère le saut de section
Mes modèles fonctionnent de cette manière et ça fonctionne très bien,
sans souci.
Circé
http://faqword.free.fr
Lars a formulé la demande :
Bonjour,
Je développe un model (Report.dot) dans MS Word XP pour un grand document.
Ce model doit contenir une macro VBA qui permet d’inséré une nouvelle page
orienté paysage, mais avec le texte, le n° de page, et les logos dans
l’en-tête et le pied de page positionné à droite et à gauche de la page
plutôt que en haut et en bas.
La macro VBA est déjà bien avancé (insertion nouvelle section, orientation
de la page et insertion de frames orienté verticalement avec le texte) mais
quand il s’agit de tourner les images des logos et de les positionner
correctement, je reçois l’erreur : ‘-2147024891 (80070005)’ – Ce membre
n’est pas accessible dans cette vue’
Le code en question est la suivante :
Dim rngHeader as Range
Dim shpLogo as Shape
With ActiveDocument.Sections(intSectionID)
Set rngHeader = .Headers(wdHeaderFooterPrimary).Range
End With
For Each shpLogo In rngHeader.ShapeRange
shpLogo.Select ‘ <= Erreur ici
Selection.ShapeRange.IncrementRotation 90#
Next
Si quelqu’un peut me donné un pointeur, je serrais TRES reconnaissant !
Un grand merci pour ton feedback. C’est une piste intéressante, pourvu que cela puisse être réalisé par macro. Ce modèle sera utilisé dans une organisation ou les utilisateurs veulent insérer la nouvelle page paysage avec toute la mise en page correcte, par un clic depuis une nouvelle entrée dans le menu. Je te tiens au courant pour la suite.
Pas de problème pour la macro... Peut être n'as tu pas lu ma réponse à anacoluthe.
Circé http://faqword.free.fr
-- Lars
Bonjour Lars,
J'ai un truc pour ça beaucoup plus simple :
- Tu crées ta page en paysage, avec logo bien placé, pagination, etc. - Tu insères le saut de section (qui contient donc toute la mise en page de la page paysage) - Tu fais une insertion automatique de ton saut de section - Ta macro insère le saut de section
Mes modèles fonctionnent de cette manière et ça fonctionne très bien, sans souci.
Circé http://faqword.free.fr
Lars a formulé la demande :
Bonjour,
Je développe un model (Report.dot) dans MS Word XP pour un grand document. Ce model doit contenir une macro VBA qui permet d’inséré une nouvelle page orienté paysage, mais avec le texte, le n° de page, et les logos dans l’en-tête et le pied de page positionné à droite et à gauche de la page plutôt que en haut et en bas.
La macro VBA est déjà bien avancé (insertion nouvelle section, orientation de la page et insertion de frames orienté verticalement avec le texte) mais quand il s’agit de tourner les images des logos et de les positionner correctement, je reçois l’erreur : ‘-2147024891 (80070005)’ – Ce membre n’est pas accessible dans cette vue’
Le code en question est la suivante :
Dim rngHeader as Range Dim shpLogo as Shape
With ActiveDocument.Sections(intSectionID) Set rngHeader = .Headers(wdHeaderFooterPrimary).Range End With
For Each shpLogo In rngHeader.ShapeRange shpLogo.Select ‘ <= Erreur ici Selection.ShapeRange.IncrementRotation 90# Next
Si quelqu’un peut me donné un pointeur, je serrais TRES reconnaissant !
Lars
Bonjour Anacoluthe,
Merci pour ta réponse. Malheureusement, je ne peut pas écrire directement "shpLogo.ShapeRange.IncrementRotation 90#" et ainsi éviter l'étape ".Select" car ".ShapeRange" ne fait pas part de la structure shpLogo. Le compilateur refuse cette instruction.
Je te tiens au courrant pour la suite. -- Lars
Bonjour !
'Lars' nous a écrit ...
For Each shpLogo In rngHeader.ShapeRange shpLogo.Select ‘ <= Erreur ici Selection.ShapeRange.IncrementRotation 90# Next
Vous ne pouvez pas /sélectionner/ un objet si cet objet n'est pas visible dans la fenêtre de sélection !!!!!!!!!!
Votre code SELECT vous oblige donc à AFFICHER les en-têtes/pieds de page Affichage / En-tête et pied de page
Ceci dit vous faites l'erreur hyperclassique de tout débutant en VBA : Dans 99% des cas sélectionner ne sert à RIEN en VBA !! La Selection c'est bon pour l'utilisateur manuel et l'enregistreur de macros.
Si au lieu d'écrire Machin.Select Selection.FaisMoiCeci
Vous écrivez tout simplement Machin.FaisMoiCeci
1. Vous gagnez en code et en rapidité 2. Vous vous fichez de ce qui est affiché en ce moment dans la fenêtre active
Est-ce plus clair ?
PS: Suivez la piste de Circé. C'est la meilleure car vous allez galérer à calculer la rotation des ett/pdp alors qu'une fois construits à la main et incorporés dans une IA de section c'est tout simple. Même sans vba...
Anacoluthe « La vraie question est : pourquoi sélectionner? Et je ne connais pas la réponse. » - Albert JACQUARD
Bonjour Anacoluthe,
Merci pour ta réponse. Malheureusement, je ne peut pas écrire directement
"shpLogo.ShapeRange.IncrementRotation 90#" et ainsi éviter l'étape ".Select"
car ".ShapeRange" ne fait pas part de la structure shpLogo. Le compilateur
refuse cette instruction.
Je te tiens au courrant pour la suite.
--
Lars
Bonjour !
'Lars' nous a écrit ...
For Each shpLogo In rngHeader.ShapeRange
shpLogo.Select ‘ <= Erreur ici
Selection.ShapeRange.IncrementRotation 90#
Next
Vous ne pouvez pas /sélectionner/ un objet si cet objet n'est pas
visible dans la fenêtre de sélection !!!!!!!!!!
Votre code SELECT vous oblige donc à AFFICHER les en-têtes/pieds de page
Affichage / En-tête et pied de page
Ceci dit vous faites l'erreur hyperclassique de tout débutant en VBA :
Dans 99% des cas sélectionner ne sert à RIEN en VBA !!
La Selection c'est bon pour l'utilisateur manuel et l'enregistreur de macros.
Si au lieu d'écrire
Machin.Select
Selection.FaisMoiCeci
Vous écrivez tout simplement
Machin.FaisMoiCeci
1. Vous gagnez en code et en rapidité
2. Vous vous fichez de ce qui est affiché en ce moment dans la fenêtre active
Est-ce plus clair ?
PS: Suivez la piste de Circé. C'est la meilleure car vous allez galérer
à calculer la rotation des ett/pdp alors qu'une fois construits à la main
et incorporés dans une IA de section c'est tout simple. Même sans vba...
Anacoluthe
« La vraie question est : pourquoi sélectionner?
Et je ne connais pas la réponse. »
- Albert JACQUARD
Merci pour ta réponse. Malheureusement, je ne peut pas écrire directement "shpLogo.ShapeRange.IncrementRotation 90#" et ainsi éviter l'étape ".Select" car ".ShapeRange" ne fait pas part de la structure shpLogo. Le compilateur refuse cette instruction.
Je te tiens au courrant pour la suite. -- Lars
Bonjour !
'Lars' nous a écrit ...
For Each shpLogo In rngHeader.ShapeRange shpLogo.Select ‘ <= Erreur ici Selection.ShapeRange.IncrementRotation 90# Next
Vous ne pouvez pas /sélectionner/ un objet si cet objet n'est pas visible dans la fenêtre de sélection !!!!!!!!!!
Votre code SELECT vous oblige donc à AFFICHER les en-têtes/pieds de page Affichage / En-tête et pied de page
Ceci dit vous faites l'erreur hyperclassique de tout débutant en VBA : Dans 99% des cas sélectionner ne sert à RIEN en VBA !! La Selection c'est bon pour l'utilisateur manuel et l'enregistreur de macros.
Si au lieu d'écrire Machin.Select Selection.FaisMoiCeci
Vous écrivez tout simplement Machin.FaisMoiCeci
1. Vous gagnez en code et en rapidité 2. Vous vous fichez de ce qui est affiché en ce moment dans la fenêtre active
Est-ce plus clair ?
PS: Suivez la piste de Circé. C'est la meilleure car vous allez galérer à calculer la rotation des ett/pdp alors qu'une fois construits à la main et incorporés dans une IA de section c'est tout simple. Même sans vba...
Anacoluthe « La vraie question est : pourquoi sélectionner? Et je ne connais pas la réponse. » - Albert JACQUARD
Anacoluthe
Bonjour !
'Lars' nous a écrit ...
Merci pour ta réponse. Malheureusement, je ne peut pas écrire directement "shpLogo.ShapeRange.IncrementRotation 90#" et ainsi éviter l'étape ".Select" car ".ShapeRange" ne fait pas part de la structure shpLogo. Le compilateur refuse cette instruction.
Ouille ouille je pense que vous adorez vous compliquer la vie :-p Essayez de rester cohérents avec les /objets/ vba
Machin.Select : Selection.FaisMoiCeci à remplacer par Machin.FaisMoiCeci ne veut pas dire remplacer mot par mot les objets !
Dans votre cas votre Machin.FaisMoiCeci s'écrit encore bien plus simplement
shpLogo.IncrementRotation 90
ShapeRange est une collection de Shapes (formes) Une Shape n'a pas à avoir de ShapeRange en soi, non ? Pour atteindre une Shape dans Selection, il faut par contre passer par sa Selection.ShapeRange. Qu'en pensez-vous ? N'est-ce pas terriblement simple ?
Anacoluthe « La vraie question est : pourquoi sélectionner? Et je ne connais pas la réponse. » - Albert JACQUARD
Bonjour !
'Lars' nous a écrit ...
Merci pour ta réponse. Malheureusement, je ne peut pas écrire directement
"shpLogo.ShapeRange.IncrementRotation 90#" et ainsi éviter l'étape ".Select"
car ".ShapeRange" ne fait pas part de la structure shpLogo. Le compilateur
refuse cette instruction.
Ouille ouille je pense que vous adorez vous compliquer la vie :-p
Essayez de rester cohérents avec les /objets/ vba
Machin.Select : Selection.FaisMoiCeci
à remplacer par Machin.FaisMoiCeci
ne veut pas dire remplacer mot par mot les objets !
Dans votre cas votre Machin.FaisMoiCeci s'écrit
encore bien plus simplement
shpLogo.IncrementRotation 90
ShapeRange est une collection de Shapes (formes)
Une Shape n'a pas à avoir de ShapeRange en soi, non ?
Pour atteindre une Shape dans Selection, il faut par contre
passer par sa Selection.ShapeRange. Qu'en pensez-vous ?
N'est-ce pas terriblement simple ?
Anacoluthe
« La vraie question est : pourquoi sélectionner?
Et je ne connais pas la réponse. »
- Albert JACQUARD
Merci pour ta réponse. Malheureusement, je ne peut pas écrire directement "shpLogo.ShapeRange.IncrementRotation 90#" et ainsi éviter l'étape ".Select" car ".ShapeRange" ne fait pas part de la structure shpLogo. Le compilateur refuse cette instruction.
Ouille ouille je pense que vous adorez vous compliquer la vie :-p Essayez de rester cohérents avec les /objets/ vba
Machin.Select : Selection.FaisMoiCeci à remplacer par Machin.FaisMoiCeci ne veut pas dire remplacer mot par mot les objets !
Dans votre cas votre Machin.FaisMoiCeci s'écrit encore bien plus simplement
shpLogo.IncrementRotation 90
ShapeRange est une collection de Shapes (formes) Une Shape n'a pas à avoir de ShapeRange en soi, non ? Pour atteindre une Shape dans Selection, il faut par contre passer par sa Selection.ShapeRange. Qu'en pensez-vous ? N'est-ce pas terriblement simple ?
Anacoluthe « La vraie question est : pourquoi sélectionner? Et je ne connais pas la réponse. » - Albert JACQUARD
Lars
Hello Anacoluthe,
ça marche !!
Ben je crois que je suis devenu tellement embrouillé avec les élements des Shapes et Ranges que je ne peux pas voir la foret car les arbres me block la vue.
Un grand merci pour ton aide :) -- Lars
Hello Anacoluthe,
ça marche !!
Ben je crois que je suis devenu tellement embrouillé avec les élements des
Shapes et Ranges que je ne peux pas voir la foret car les arbres me block la
vue.
Ben je crois que je suis devenu tellement embrouillé avec les élements des Shapes et Ranges que je ne peux pas voir la foret car les arbres me block la vue.
Un grand merci pour ton aide :) -- Lars
Lars
Hello Circé,
Anacoluthe m'a donné la solution pour tourner le logo et ça marche maintenant. Cependant, la solution que tu ma proposé est aussi interesante comme alternative et je fais des essais aujourd'hui.
Je te tiens au courrant pour la suite.
Merci encore, -- Lars
Hello Circé,
Anacoluthe m'a donné la solution pour tourner le logo et ça marche
maintenant. Cependant, la solution que tu ma proposé est aussi interesante
comme alternative et je fais des essais aujourd'hui.
Anacoluthe m'a donné la solution pour tourner le logo et ça marche maintenant. Cependant, la solution que tu ma proposé est aussi interesante comme alternative et je fais des essais aujourd'hui.