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

Largeur d'un shape stockée dans une variable

2 réponses
Avatar
Infogroup
Bonsoir à tous,

je bute sur la possibilité de stocker la largeur d'un shape ( ou la
hauteur ) dans une variable qui s'appellerait dans cet exemple mémo1 pour le
1er shape, mémo2 pour le 2ième etc...
la ligne mémo " & L & " = Selection.ShapeRange.Width n'est pas correcte
alors que la suivante [B40] = Selection.ShapeRange.Height est OK

Sub Essai()
Set Plg4 = [A6:A39]
L = 1
For Each c In Plg4
c.Select
If Not c.Comment Is Nothing Then
With c.Comment.Shape.OLEFormat.Object
.Width = .ShapeRange.Width
.Height = .ShapeRange.Height
.Visible = True
.Select
mémo " & L & " = Selection.ShapeRange.Width
[B40] = Selection.ShapeRange.Height
.Visible = False
End With
End If
L = L + 1
Next c

End Sub

Vos lumières seraient très appréciées.

Merci par avance

Cordialement

Infogroup

2 réponses

Avatar
michdenis
Bonjour,

Un petit exemple, pour boucler sur tous les commentaires
de la plage désignée et de mettre dans une variable
tableau (array) la valeur désignée : Le nom du commentaire,
la largeur du commentaire et sa hauteur.

'----------------------------------
Sub Commentaire()
Dim Hauteur(), Largeur(), Nom(), X As Integer
Dim Plg4 As Range, C As Comment

With Worksheets("Feuil1")
Set Plg4 = .Range("A6:A39")
For Each C In .Comments
sss = C.Parent.Address
If Not Intersect(Plg4, .Range(C.Parent.Address)) Is Nothing Then
With C.Shape.OLEFormat.Object
X = X + 1
ReDim Preserve Nom(X)
Nom(X) = .Name
ReDim Preserve Hauteur(X)
Hauteur(X) = .Height
ReDim Preserve Largeur(X)
Largeur(X) = .Width
End With
End If
Next
End With
End Sub
'----------------------------------




"Infogroup" a écrit dans le message de groupe de discussion :
#QPv$
Bonsoir à tous,

je bute sur la possibilité de stocker la largeur d'un shape ( ou la
hauteur ) dans une variable qui s'appellerait dans cet exemple mémo1 pour le
1er shape, mémo2 pour le 2ième etc...
la ligne mémo " & L & " = Selection.ShapeRange.Width n'est pas correcte
alors que la suivante [B40] = Selection.ShapeRange.Height est OK

Sub Essai()
Set Plg4 = [A6:A39]
L = 1
For Each c In Plg4
c.Select
If Not c.Comment Is Nothing Then
With c.Comment.Shape.OLEFormat.Object
.Width = .ShapeRange.Width
.Height = .ShapeRange.Height
.Visible = True
.Select
mémo " & L & " = Selection.ShapeRange.Width
[B40] = Selection.ShapeRange.Height
.Visible = False
End With
End If
L = L + 1
Next c

End Sub

Vos lumières seraient très appréciées.

Merci par avance

Cordialement

Infogroup
Avatar
Infogroup
Bonsoir michdenis et merci pour cet exemple,

je vais l'adapter à mon application et ça devrait convenir

merci encore

Cdl

Infogroup




"michdenis" a écrit dans le message de
news:%
Bonjour,

Un petit exemple, pour boucler sur tous les commentaires
de la plage désignée et de mettre dans une variable
tableau (array) la valeur désignée : Le nom du commentaire,
la largeur du commentaire et sa hauteur.

'----------------------------------
Sub Commentaire()
Dim Hauteur(), Largeur(), Nom(), X As Integer
Dim Plg4 As Range, C As Comment

With Worksheets("Feuil1")
Set Plg4 = .Range("A6:A39")
For Each C In .Comments
sss = C.Parent.Address
If Not Intersect(Plg4, .Range(C.Parent.Address)) Is Nothing Then
With C.Shape.OLEFormat.Object
X = X + 1
ReDim Preserve Nom(X)
Nom(X) = .Name
ReDim Preserve Hauteur(X)
Hauteur(X) = .Height
ReDim Preserve Largeur(X)
Largeur(X) = .Width
End With
End If
Next
End With
End Sub
'----------------------------------




"Infogroup" a écrit dans le message de groupe de
discussion :
#QPv$
Bonsoir à tous,

je bute sur la possibilité de stocker la largeur d'un shape ( ou la
hauteur ) dans une variable qui s'appellerait dans cet exemple mémo1 pour
le
1er shape, mémo2 pour le 2ième etc...
la ligne mémo " & L & " = Selection.ShapeRange.Width n'est pas correcte
alors que la suivante [B40] = Selection.ShapeRange.Height est OK

Sub Essai()
Set Plg4 = [A6:A39]
L = 1
For Each c In Plg4
c.Select
If Not c.Comment Is Nothing Then
With c.Comment.Shape.OLEFormat.Object
.Width = .ShapeRange.Width
.Height = .ShapeRange.Height
.Visible = True
.Select
mémo " & L & " = Selection.ShapeRange.Width
[B40] = Selection.ShapeRange.Height
.Visible = False
End With
End If
L = L + 1
Next c

End Sub

Vos lumières seraient très appréciées.

Merci par avance

Cordialement

Infogroup