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

Formes automatiques visible ou non

7 réponses
Avatar
Pierre-Yves Ste-Marie
Est-il possible selon la valeur d'une cellule, de rendre visible ou non une
des formes automatiques disponibles dans Excel, comme une flèche.

Merci à vous tous.

7 réponses

Avatar
LSteph
Bonjour,
A adapter:

''''''''''''''''dans le code de la feuille
Private Sub Worksheet_Calculate()
Call mesobjetsV
End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
Call mesobjetsV
End Sub

Private Sub mesobjetsV()
Shapes(1).Visible = [a1] > 8
Shapes(2).Visible = [a1] > 12
End Sub
'''''''''''''''''''''''''''''''''''''''''''

'lSteph

Est-il possible selon la valeur d'une cellule, de rendre visible ou non une
des formes automatiques disponibles dans Excel, comme une flèche.

Merci à vous tous.




Avatar
Pierre-Yves Ste-Marie
Merci beaucoup cher LSteph,

ça répond très bien à ce que je voulais...

Mais je me permets une sous-question: est-il possible d'identifier les
formes et leur numéro.
Ma feuille contient une certaine quantité de formes et par essaies et
erreurs j'ai réussi à identifier
quelle forme était le numéro 1 et les autres... Mais il y a peut-être une
façon plus simple.

Et merci encore


"LSteph" wrote in message
news:%
Bonjour,
A adapter:

''''''''''''''''dans le code de la feuille
Private Sub Worksheet_Calculate()
Call mesobjetsV
End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
Call mesobjetsV
End Sub

Private Sub mesobjetsV()
Shapes(1).Visible = [a1] > 8
Shapes(2).Visible = [a1] > 12
End Sub
'''''''''''''''''''''''''''''''''''''''''''

'lSteph

Est-il possible selon la valeur d'une cellule, de rendre visible ou non
une des formes automatiques disponibles dans Excel, comme une flèche.

Merci à vous tous.




Avatar
Modeste
Bonsour® Pierre-Yves Ste-Marie avec ferveur ;o))) vous nous disiez :

Mais je me permets une sous-question: est-il possible d'identifier les
formes et leur numéro.



Sub List_All_Shapes()''-----Dave Hawley www.ozgrid.com
Dim sShapes As Shape, lLoop As Long
Dim WsNew As Worksheet
Dim wsLoop As Worksheet
Set WsNew = Sheets.Add
'---------Add headings for our lists. Expand as needed
WsNew.Range("A1:G1") = _
Array("Nom", "Type", "Hauteur", "Largeur", "Gauche", "Haut", "Feuille")
'---------Loop through all Worksheet
For Each wsLoop In Worksheets
'-------Loop through all shapes on Worksheet
For Each sShapes In wsLoop.Shapes
'-----Increment Variable lLoop for row numbers
lLoop = lLoop + 1
With sShapes
'-----Add shape properties
WsNew.Cells(lLoop + 1, 1) = .name
WsNew.Cells(lLoop + 1, 2) = .OLEFormat.Object.name
WsNew.Cells(lLoop + 1, 3) = .Height
WsNew.Cells(lLoop + 1, 4) = .Width
WsNew.Cells(lLoop + 1, 5) = .Left
WsNew.Cells(lLoop + 1, 6) = .Top
'-------Follow the same pattern for more
WsNew.Cells(lLoop + 1, 7) = wsLoop.name
End With
Next sShapes
Next wsLoop
'-------AutoFit Columns.
WsNew.Columns.AutoFit
End Sub


@+
;o)))

Avatar
LSteph
Bonjour,

oui un objet dessiné peut-être désigné par son numéro ou par son nom
exact si on le connait
exemple:

ActiveSheet.Shapes("Oval 2").Fill.ForeColor.SchemeColor = 44

(Sinon assignes toi même des noms à tes objets si tu en supprime ou
ajoute par macro)

Cordialement.

lSteph

Merci beaucoup cher LSteph,

ça répond très bien à ce que je voulais...

Mais je me permets une sous-question: est-il possible d'identifier les
formes et leur numéro.
Ma feuille contient une certaine quantité de formes et par essaies et
erreurs j'ai réussi à identifier
quelle forme était le numéro 1 et les autres... Mais il y a peut-être une
façon plus simple.

Et merci encore


"LSteph" wrote in message
news:%
Bonjour,
A adapter:

''''''''''''''''dans le code de la feuille
Private Sub Worksheet_Calculate()
Call mesobjetsV
End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
Call mesobjetsV
End Sub

Private Sub mesobjetsV()
Shapes(1).Visible = [a1] > 8
Shapes(2).Visible = [a1] > 12
End Sub
'''''''''''''''''''''''''''''''''''''''''''

'lSteph

Est-il possible selon la valeur d'une cellule, de rendre visible ou non
une des formes automatiques disponibles dans Excel, comme une flèche.

Merci à vous tous.








Avatar
Pierre-Yves Ste-Marie
Merci.
Mais si j'en crée ou ajoute par la barre de sélection et par la souris,
alors c'est Excel qui génère automatiquement son numéro,
peut-on alors modifier son numéro par un nom par la suite?

Bonne journée


"LSteph" wrote in message
news:
Bonjour,

oui un objet dessiné peut-être désigné par son numéro ou par son nom
exact si on le connait
exemple:

ActiveSheet.Shapes("Oval 2").Fill.ForeColor.SchemeColor = 44

(Sinon assignes toi même des noms à tes objets si tu en supprime ou ajoute
par macro)

Cordialement.

lSteph

Merci beaucoup cher LSteph,

ça répond très bien à ce que je voulais...

Mais je me permets une sous-question: est-il possible d'identifier les
formes et leur numéro.
Ma feuille contient une certaine quantité de formes et par essaies et
erreurs j'ai réussi à identifier
quelle forme était le numéro 1 et les autres... Mais il y a peut-être une
façon plus simple.

Et merci encore


"LSteph" wrote in message
news:%
Bonjour,
A adapter:

''''''''''''''''dans le code de la feuille
Private Sub Worksheet_Calculate()
Call mesobjetsV
End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
Call mesobjetsV
End Sub

Private Sub mesobjetsV()
Shapes(1).Visible = [a1] > 8
Shapes(2).Visible = [a1] > 12
End Sub
'''''''''''''''''''''''''''''''''''''''''''

'lSteph

Est-il possible selon la valeur d'une cellule, de rendre visible ou non
une des formes automatiques disponibles dans Excel, comme une flèche.

Merci à vous tous.









Avatar
lSteph
Re,

Mets ceci dans un module standard ferme vbe
sélectionne ta feuille puis Outils macro
testSh() te renvoie un petit rapport de tes objets avec leur position
haut gauche
renommetout() te les rebaptise monObj et un numéro
testSh à nouveau pour voir le résultat
en même temps ces trois codes te donnes idée de comment faire
(la fonction créée ici boucleshapes est paramètrable).

Option Explicit
Function BoucleShapes(Optional ByVal _
wsname As String) As String
Dim myShp As Shape, myCr As String
If Len(wsname) = 0 Then wsname = ActiveSheet.Name
myCr = "Nom" & " " & "Type" & " " & "Haut" & " " _
& " " & "Gauche" & vbCrLf
For Each myShp In Worksheets(wsname).Shapes
With myShp
myCr = myCr & .Name & " " & _
TypeName(myShp.OLEFormat.Object) _
& " " & " " & .Top & " " & .Left & " " & vbCrLf
End With
Next myShp
BoucleShapes = myCr
End Function

Sub testSh()
MsgBox BoucleShapes
End Sub


Sub renommetout()
Dim myShp As Shape, i As Integer
For Each myShp In ActiveSheet.Shapes
With myShp
i = i + 1
.Name = "MonObj" & i
End With
Next myShp

End Sub




On 13 sep, 13:34, "Pierre-Yves Ste-Marie"
wrote:
Merci.
Mais si j'en crée ou ajoute par la barre de sélection et par la souri s,
alors c'est Excel qui génère automatiquement son numéro,
peut-on alors modifier son numéro par un nom par la suite?

Bonne journée

"LSteph" wrote in message

news:

Bonjour,

oui un objet dessiné peut-être désigné par son numéro ou par son nom
exact si on le connait
exemple:

ActiveSheet.Shapes("Oval 2").Fill.ForeColor.SchemeColor = 44

(Sinon assignes toi même des noms à tes objets si tu en supprime ou ajoute
par macro)

Cordialement.

lSteph

Merci beaucoup cher LSteph,

ça répond très bien à ce que je voulais...

Mais je me permets une sous-question: est-il possible d'identifier les
formes et leur numéro.
Ma feuille contient une certaine quantité de formes et par essaies et
erreurs j'ai réussi à identifier
quelle forme était le numéro 1 et les autres... Mais il y a peut- être une
façon plus simple.

Et merci encore

"LSteph" wrote in message
news:%
Bonjour,
A adapter:

''''''''''''''''dans le code de la feuille
Private Sub Worksheet_Calculate()
Call mesobjetsV
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
Call mesobjetsV
End Sub

Private Sub mesobjetsV()
Shapes(1).Visible = [a1] > 8
Shapes(2).Visible = [a1] > 12
End Sub
'''''''''''''''''''''''''''''''''''''''''''

'lSteph

Est-il possible selon la valeur d'une cellule, de rendre visible ou non
une des formes automatiques disponibles dans Excel, comme une flèc he.

Merci à vous tous.










Avatar
LSteph
...ouppsss quelle faute de rebidouille de texte!
.. en même temps la structure de ces trois codes te donne idée de
comment faire

Re,

Mets ceci dans un module standard ferme vbe
sélectionne ta feuille puis Outils macro
testSh() te renvoie un petit rapport de tes objets avec leur position
haut gauche
renommetout() te les rebaptise monObj et un numéro
testSh à nouveau pour voir le résultat
en même temps ces trois codes te donnes idée de comment faire
(la fonction créée ici boucleshapes est paramètrable).

Option Explicit
Function BoucleShapes(Optional ByVal _
wsname As String) As String
Dim myShp As Shape, myCr As String
If Len(wsname) = 0 Then wsname = ActiveSheet.Name
myCr = "Nom" & " " & "Type" & " " & "Haut" & " " _
& " " & "Gauche" & vbCrLf
For Each myShp In Worksheets(wsname).Shapes
With myShp
myCr = myCr & .Name & " " & _
TypeName(myShp.OLEFormat.Object) _
& " " & " " & .Top & " " & .Left & " " & vbCrLf
End With
Next myShp
BoucleShapes = myCr
End Function

Sub testSh()
MsgBox BoucleShapes
End Sub


Sub renommetout()
Dim myShp As Shape, i As Integer
For Each myShp In ActiveSheet.Shapes
With myShp
i = i + 1
.Name = "MonObj" & i
End With
Next myShp

End Sub




On 13 sep, 13:34, "Pierre-Yves Ste-Marie"
wrote:
Merci.
Mais si j'en crée ou ajoute par la barre de sélection et par la souris,
alors c'est Excel qui génère automatiquement son numéro,
peut-on alors modifier son numéro par un nom par la suite?

Bonne journée

"LSteph" wrote in message

news:

Bonjour,
oui un objet dessiné peut-être désigné par son numéro ou par son nom
exact si on le connait
exemple:
ActiveSheet.Shapes("Oval 2").Fill.ForeColor.SchemeColor = 44
(Sinon assignes toi même des noms à tes objets si tu en supprime ou ajoute
par macro)
Cordialement.
lSteph
Merci beaucoup cher LSteph,
ça répond très bien à ce que je voulais...
Mais je me permets une sous-question: est-il possible d'identifier les
formes et leur numéro.
Ma feuille contient une certaine quantité de formes et par essaies et
erreurs j'ai réussi à identifier
quelle forme était le numéro 1 et les autres... Mais il y a peut-être une
façon plus simple.
Et merci encore
"LSteph" wrote in message
news:%
Bonjour,
A adapter:
''''''''''''''''dans le code de la feuille
Private Sub Worksheet_Calculate()
Call mesobjetsV
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Call mesobjetsV
End Sub
Private Sub mesobjetsV()
Shapes(1).Visible = [a1] > 8
Shapes(2).Visible = [a1] > 12
End Sub
'''''''''''''''''''''''''''''''''''''''''''
'lSteph
Est-il possible selon la valeur d'une cellule, de rendre visible ou non
une des formes automatiques disponibles dans Excel, comme une flèche.
Merci à vous tous.