OVH Cloud OVH Cloud

IncrementRotation

14 réponses
Avatar
Michel NOLF
Bonjour
J'ai vu qu'on pouvait appliquer à un objet Shape la methode increment
rotation.
voila ce que je fais
dim c1 as shape
set ci=worksheets(1).shapes(1)
for i=1 to 12
c1.incrementrotation 30
(delai)
next i
rien ne se passe. Pourquoi?
merci d'avance

4 réponses

1 2
Avatar
Michel NOLF
Cela a marche une fois puis impossible de reproduire l'éxecution.(J'ai
remarqué que la msgbox recouvrait en partie la shape qui est une simple
line). j'ai rajoute en fin de sub set c1=nothing pour eviter des pb de pile:
pas mieux
Encore une fois merci de ton aide

"Philippe.R" a écrit dans le message de
news:%
Re,
Pour moi, il y a bien une rotation de 30° avec chaque msgbox, donc 12 fois
30


Sub rotati()
Dim c1 As Shape
Set c1 = Worksheets(1).Shapes(1)
For i = 1 To 12
c1.IncrementRotation 30
MsgBox "Et " & i & " de 30° !", , "MPFE"
Next i
End Sub

--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002
Pour suivre facilement le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Michel NOLF" a écrit dans le message de
news:ch58ik$7io$

Merci encore
Apres l'affichage fe 12 msgbox, une(1) rotation de 30° se produit. Dans
l'aide il est bien indique que l'angle est en degre.
Donc le delai n'est pas mis en cause. Mais que fait donc la boucle
b..el?



"Philippe.R" a écrit dans le message de
news:%
Ou bien :

Sub rota()
Dim c1 As Shape
Set c1 = Worksheets(1).Shapes(1)
For i = 1 To 12
c1.IncrementRotation 30
MsgBox "et de 30 !", , "MPFE"
Next i
End Sub

--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002
Pour suivre facilement le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Philippe.R" a écrit dans le message de
news:
Bonsoir Michel,
Et comme ceci ?

Sub rot()
Dim c1 As Shape
Set ci = Worksheets(1).Shapes(1)
For i = 1 To 12
ci.IncrementRotation (30)
Application.Wait (12345)
Next i
End Sub
--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002

"Michel NOLF" a écrit dans le message de
news:ch5695$2jb$


Bonjour
J'ai vu qu'on pouvait appliquer à un objet Shape la methode
increment





rotation.
voila ce que je fais
dim c1 as shape
set ci=worksheets(1).shapes(1)
for i=1 to 12
c1.incrementrotation 30
(delai)
next i
rien ne se passe. Pourquoi?
merci d'avance




















Avatar
Michel NOLF
Grand merci a tous deux. Un jour quelqu'un pourra m'expliquer quand <
DoEvents> est nécessaire. J'avais deja vu qu'on pouvais ainsi intercepter
uene action de l'utilisateur(souris ou clavier) mais pas une action d'excel
sur lui-meme.
Je me prosterne a vos pieds(metaphoriquement parle a cause de ma sciatique)

"GD" a écrit dans le message de
news:
re-bonsour®
même que je préfère comme ceci

Sub rotat()
Dim c1 As Shape
Set c1 = Worksheets(1).Shapes(1)
For i = 1 To 360 'Step 2
c1.Rotation = i
DoEvents
Next i
End Sub

la rotation ne se fait plus en increment par rapport à une position
initiale

mais en position absolue.

Nb: le Doevents est fait pour attendre le rafraichissement de l'écran,
c'est un processus Windows donc extérieur à EXCEL

;O)))
@+

dans news:,
GD typed:
Bonsour®
;-)))
il faut inclure un doevents dans la boucle !!!!!!!

Sub rotat()
Dim c1 As Shape
Set c1 = Worksheets(1).Shapes(1)
For i = 1 To 12
c1.IncrementRotation 30
DoEvents
MsgBox "et de 30° !", , "MPFE"
Next i
End Sub

de rien c'était avec Philippe !
;o)))
@+

dans news:,
Philippe.R typed:
Fais le test avec la seconde proposition, pour voir.

Sub rotat()
Dim c1 As Shape
Set c1 = Worksheets(1).Shapes(1)
For i = 1 To 12
c1.IncrementRotation 30
MsgBox "et de 30° !", , "MPFE"
Next i
End Sub

"Michel NOLF" a écrit dans le message de
news:ch57i8$5hu$

Merci de m'avoir repondu si vite
Cela ne fait pas une rotation complete(12*3060) mais une seile de
30° donc a quoi sert la boucle?

"Philippe.R" a écrit dans le message de
news:
Bonsoir Michel,
Et comme ceci ?

Sub rot()
Dim c1 As Shape
Set ci = Worksheets(1).Shapes(1)
For i = 1 To 12
ci.IncrementRotation (30)
Application.Wait (12345)
Next i
End Sub
--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002

"Michel NOLF" a écrit dans le message de
news:ch5695$2jb$

Bonjour
J'ai vu qu'on pouvait appliquer à un objet Shape la methode
increment rotation.
voila ce que je fais
dim c1 as shape
set ci=worksheets(1).shapes(1)
for i=1 to 12
c1.incrementrotation 30
(delai)
next i
rien ne se passe. Pourquoi?
merci d'avance














Avatar
Philippe.R
Re,
Suis la piste ouverte par GD, c'est la bonne !
--
Amicales Salutations

"Michel NOLF" a écrit dans le message de news:ch5agl$adg$
Cela a marche une fois puis impossible de reproduire l'éxecution.(J'ai
remarqué que la msgbox recouvrait en partie la shape qui est une simple
line). j'ai rajoute en fin de sub set c1=nothing pour eviter des pb de pile:
pas mieux
Encore une fois merci de ton aide

"Philippe.R" a écrit dans le message de
news:%
Re,
Pour moi, il y a bien une rotation de 30° avec chaque msgbox, donc 12 fois
30


Sub rotati()
Dim c1 As Shape
Set c1 = Worksheets(1).Shapes(1)
For i = 1 To 12
c1.IncrementRotation 30
MsgBox "Et " & i & " de 30° !", , "MPFE"
Next i
End Sub

--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002
Pour suivre facilement le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Michel NOLF" a écrit dans le message de
news:ch58ik$7io$

Merci encore
Apres l'affichage fe 12 msgbox, une(1) rotation de 30° se produit. Dans
l'aide il est bien indique que l'angle est en degre.
Donc le delai n'est pas mis en cause. Mais que fait donc la boucle
b..el?



"Philippe.R" a écrit dans le message de
news:%
Ou bien :

Sub rota()
Dim c1 As Shape
Set c1 = Worksheets(1).Shapes(1)
For i = 1 To 12
c1.IncrementRotation 30
MsgBox "et de 30 !", , "MPFE"
Next i
End Sub

--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002
Pour suivre facilement le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Philippe.R" a écrit dans le message de
news:
Bonsoir Michel,
Et comme ceci ?

Sub rot()
Dim c1 As Shape
Set ci = Worksheets(1).Shapes(1)
For i = 1 To 12
ci.IncrementRotation (30)
Application.Wait (12345)
Next i
End Sub
--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002

"Michel NOLF" a écrit dans le message de
news:ch5695$2jb$


Bonjour
J'ai vu qu'on pouvait appliquer à un objet Shape la methode
increment





rotation.
voila ce que je fais
dim c1 as shape
set ci=worksheets(1).shapes(1)
for i=1 to 12
c1.incrementrotation 30
(delai)
next i
rien ne se passe. Pourquoi?
merci d'avance
























Avatar
Michel NOLF
J'ai suivi la piste. Elle a ete fructueuse (ce maudit Do Events
merci encore mille fois

"Philippe.R" a écrit dans le message de
news:
Re,
Suis la piste ouverte par GD, c'est la bonne !
--
Amicales Salutations

"Michel NOLF" a écrit dans le message de
news:ch5agl$adg$

Cela a marche une fois puis impossible de reproduire l'éxecution.(J'ai
remarqué que la msgbox recouvrait en partie la shape qui est une simple
line). j'ai rajoute en fin de sub set c1=nothing pour eviter des pb de
pile:


pas mieux
Encore une fois merci de ton aide

"Philippe.R" a écrit dans le message de
news:%
Re,
Pour moi, il y a bien une rotation de 30° avec chaque msgbox, donc 12
fois



30

Sub rotati()
Dim c1 As Shape
Set c1 = Worksheets(1).Shapes(1)
For i = 1 To 12
c1.IncrementRotation 30
MsgBox "Et " & i & " de 30° !", , "MPFE"
Next i
End Sub

--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002
Pour suivre facilement le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Michel NOLF" a écrit dans le message de
news:ch58ik$7io$

Merci encore
Apres l'affichage fe 12 msgbox, une(1) rotation de 30° se produit.
Dans




l'aide il est bien indique que l'angle est en degre.
Donc le delai n'est pas mis en cause. Mais que fait donc la boucle
b..el?



"Philippe.R" a écrit dans le message de
news:%
Ou bien :

Sub rota()
Dim c1 As Shape
Set c1 = Worksheets(1).Shapes(1)
For i = 1 To 12
c1.IncrementRotation 30
MsgBox "et de 30 !", , "MPFE"
Next i
End Sub

--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002
Pour suivre facilement le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Philippe.R" a écrit dans le message de
news:
Bonsoir Michel,
Et comme ceci ?

Sub rot()
Dim c1 As Shape
Set ci = Worksheets(1).Shapes(1)
For i = 1 To 12
ci.IncrementRotation (30)
Application.Wait (12345)
Next i
End Sub
--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002

"Michel NOLF" a écrit dans le message
de






news:ch5695$2jb$
Bonjour
J'ai vu qu'on pouvait appliquer à un objet Shape la methode
increment





rotation.
voila ce que je fais
dim c1 as shape
set ci=worksheets(1).shapes(1)
for i=1 to 12
c1.incrementrotation 30
(delai)
next i
rien ne se passe. Pourquoi?
merci d'avance




























1 2