OVH Cloud OVH Cloud

refers to R1C1

5 réponses
Avatar
claude tele2
bonjour à tous
Dans du code, je créé une forme automatique (une flèche)à laquelle je veux
donner un nom pour pouvoir la manipuler par du code plus loin
pour éviter les numérotations des shapes, et donc les plantages à
l'exécution, je voudrais nommer cette forme en la sélectionnant, donc sans
passer par le RefersToR1C1

est-il possible d'attribuer un nom en se passant du RefersToR1C1
mas en faisant référence à la sélection

merci de vos conseils
:))
claude

5 réponses

Avatar
Daniel
Bonjour.
Si j'ai bien tout compris :
ActiveSheet.Shapes(1).Name = "toto"
que tu peut selectionner :
ActiveSheet.Shapes("toto").Select
Cordialement.
Daniel
"claude tele2" a écrit dans le message de news:
7UZvh.54$
bonjour à tous
Dans du code, je créé une forme automatique (une flèche)à laquelle je veux
donner un nom pour pouvoir la manipuler par du code plus loin
pour éviter les numérotations des shapes, et donc les plantages à
l'exécution, je voudrais nommer cette forme en la sélectionnant, donc sans
passer par le RefersToR1C1

est-il possible d'attribuer un nom en se passant du RefersToR1C1
mas en faisant référence à la sélection

merci de vos conseils
:))
claude



Avatar
claude tele2
bonjour
effectivement, il ne faut pas rajouter un nom mais simplement changer le nom
de la forme créée (qui s'appelle Forme automatique n"
merci beaucoup pour ton aide
claude



"Daniel" a écrit dans le message de news:

Bonjour.
Si j'ai bien tout compris :
ActiveSheet.Shapes(1).Name = "toto"
que tu peut selectionner :
ActiveSheet.Shapes("toto").Select
Cordialement.
Daniel
"claude tele2" a écrit dans le message de news:
7UZvh.54$
bonjour à tous
Dans du code, je créé une forme automatique (une flèche)à laquelle je
veux donner un nom pour pouvoir la manipuler par du code plus loin
pour éviter les numérotations des shapes, et donc les plantages à
l'exécution, je voudrais nommer cette forme en la sélectionnant, donc
sans passer par le RefersToR1C1

est-il possible d'attribuer un nom en se passant du RefersToR1C1
mas en faisant référence à la sélection

merci de vos conseils
:))
claude







Avatar
Modeste
Bonsour® claude tele2 avec ferveur ;o))) vous nous disiez :

effectivement, il ne faut pas rajouter un nom mais simplement changer le nom
de la forme créée (qui s'appelle Forme automatique n")


il n'est pas non plus necessaire de la renommer, il suffit de l'identifier
pour pouvoir ensuite la manipuler sans selection :

Public Mafleche As Shape
Sub Macro1()
Dim i As Integer
Dim WaitTime As Double
Set Mafleche = ActiveSheet.Shapes("AutoShape 1")

With Mafleche
MsgBox "demi tour"
.Fill.BackColor.SchemeColor = 3
.Fill.ForeColor.SchemeColor = 5
.Rotation = 180
'.ShapeRange.Characters.Text = "A droite"
DoEvents

MsgBox "Déplacement 3/4 de tour"
.Fill.BackColor.SchemeColor = 10
.Fill.ForeColor.SchemeColor = 4
'.Rotation = 270
For i = 1 To 10
.Rotation = .Rotation + 9
.Left = 50 * i
.Top = 25 * i
WaitTime = Now + TimeSerial(0, 0, 1)
Application.Wait WaitTime
DoEvents
Next

MsgBox "retour au début"
.Fill.BackColor.SchemeColor = 4
.Fill.ForeColor.SchemeColor = 10
.Rotation = 0
.Top = Range("B5").Top
.Left = Range("B5").Left
DoEvents
End With

End Sub



--
--
@+
;o)))

Avatar
Daniel
Bonjour.
C'est très juste. En renommant, on attribue seulement un nom qui peut être
plus causant que "autoshape x", surtout s'il y en a beaucoup.
Cordialement.
Daniel
"Modeste" a écrit dans le message de news:

Bonsour® claude tele2 avec ferveur ;o))) vous nous disiez :

effectivement, il ne faut pas rajouter un nom mais simplement changer le
nom
de la forme créée (qui s'appelle Forme automatique n")


il n'est pas non plus necessaire de la renommer, il suffit de l'identifier
pour pouvoir ensuite la manipuler sans selection :

Public Mafleche As Shape
Sub Macro1()
Dim i As Integer
Dim WaitTime As Double
Set Mafleche = ActiveSheet.Shapes("AutoShape 1")

With Mafleche
MsgBox "demi tour"
.Fill.BackColor.SchemeColor = 3
.Fill.ForeColor.SchemeColor = 5
.Rotation = 180
'.ShapeRange.Characters.Text = "A droite"
DoEvents

MsgBox "Déplacement 3/4 de tour"
.Fill.BackColor.SchemeColor = 10
.Fill.ForeColor.SchemeColor = 4
'.Rotation = 270
For i = 1 To 10
.Rotation = .Rotation + 9
.Left = 50 * i
.Top = 25 * i
WaitTime = Now + TimeSerial(0, 0, 1)
Application.Wait WaitTime
DoEvents
Next

MsgBox "retour au début"
.Fill.BackColor.SchemeColor = 4
.Fill.ForeColor.SchemeColor = 10
.Rotation = 0
.Top = Range("B5").Top
.Left = Range("B5").Left
DoEvents
End With

End Sub



--
--
@+
;o)))





Avatar
claude tele2
bonsoir

merci, merci pour vos contributions
ce forum est une véritable mine d'or : réponses rapides et pertinentes
assurées ...
claude

"Modeste" a écrit dans le message de news:

Bonsour® claude tele2 avec ferveur ;o))) vous nous disiez :

effectivement, il ne faut pas rajouter un nom mais simplement changer le
nom
de la forme créée (qui s'appelle Forme automatique n")


il n'est pas non plus necessaire de la renommer, il suffit de l'identifier
pour pouvoir ensuite la manipuler sans selection :

Public Mafleche As Shape
Sub Macro1()
Dim i As Integer
Dim WaitTime As Double
Set Mafleche = ActiveSheet.Shapes("AutoShape 1")

With Mafleche
MsgBox "demi tour"
.Fill.BackColor.SchemeColor = 3
.Fill.ForeColor.SchemeColor = 5
.Rotation = 180
'.ShapeRange.Characters.Text = "A droite"
DoEvents

MsgBox "Déplacement 3/4 de tour"
.Fill.BackColor.SchemeColor = 10
.Fill.ForeColor.SchemeColor = 4
'.Rotation = 270
For i = 1 To 10
.Rotation = .Rotation + 9
.Left = 50 * i
.Top = 25 * i
WaitTime = Now + TimeSerial(0, 0, 1)
Application.Wait WaitTime
DoEvents
Next

MsgBox "retour au début"
.Fill.BackColor.SchemeColor = 4
.Fill.ForeColor.SchemeColor = 10
.Rotation = 0
.Top = Range("B5").Top
.Left = Range("B5").Left
DoEvents
End With

End Sub



--
--
@+
;o)))