Dans cette macro, je voudrais obtenir en U65 le nom de la
constante MsoAutoShapeType des formes automatiques
que dessinent ladite macro.
Est-ce possible ?
Serge
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Formes_Concentriques()
Sheets.Add
With ActiveWindow
.ScrollRow = 63
.ScrollColumn = 12
.DisplayGridlines = False
End With
cx = 1000
cy = 1000
For i = 1 To 10
For r = 10 To 200 Step 10
Lc = cx - r
Tc = cy - r
Wc = 2 * r
Hc = 2 * r
Set forme = ActiveSheet.Shapes.AddShape(i, Lc, Tc, Wc, Hc)
forme.Fill.Visible = False
Next r
DoEvents
[U65] = forme.Type 'MsoAutoShapeType ?
Sleep (1500)
[U65].ClearContents
ActiveSheet.DrawingObjects.Delete
Next i
End Sub
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
MichDenis
Tu vas devoir faire un select case sur forme.Type et pour obtenir la valeur numérique de chacun des types tu vas à partir de la fenêtre d'éditeur de code dans l'explorateur d'objets (F2) , dans la cas rechercher, tu inscris : MsoAutoShapeType et tu devrais avoir toutes les constantes listées dans la fenêtre de droite. si tu cliques sur chacune d'elles, leur valeur numérique s'affiche dans le bas de la fenêtre.
Dans le code, les constantes alphanumériques sont représentées par leur équivalent numérique... je ne connais pas une façon de faire l'inverse autre que mentionner.
Si tu trouves, dis nous le !
"garnote" a écrit dans le message de news: % Bonjour,
Dans cette macro, je voudrais obtenir en U65 le nom de la constante MsoAutoShapeType des formes automatiques que dessinent ladite macro. Est-ce possible ?
Serge
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub Formes_Concentriques() Sheets.Add With ActiveWindow .ScrollRow = 63 .ScrollColumn = 12 .DisplayGridlines = False End With cx = 1000 cy = 1000 For i = 1 To 10 For r = 10 To 200 Step 10 Lc = cx - r Tc = cy - r Wc = 2 * r Hc = 2 * r Set forme = ActiveSheet.Shapes.AddShape(i, Lc, Tc, Wc, Hc) forme.Fill.Visible = False Next r DoEvents [U65] = forme.Type 'MsoAutoShapeType ? Sleep (1500) [U65].ClearContents ActiveSheet.DrawingObjects.Delete Next i End Sub
Tu vas devoir faire un select case sur forme.Type
et pour obtenir la valeur numérique de chacun des types
tu vas à partir de la fenêtre d'éditeur de code dans l'explorateur
d'objets (F2) , dans la cas rechercher, tu inscris : MsoAutoShapeType
et tu devrais avoir toutes les constantes listées dans la fenêtre de droite.
si tu cliques sur chacune d'elles, leur valeur numérique s'affiche dans le
bas de la fenêtre.
Dans le code, les constantes alphanumériques sont représentées par
leur équivalent numérique... je ne connais pas une façon de faire
l'inverse autre que mentionner.
Si tu trouves, dis nous le !
"garnote" <garnote3@ENLEVER.videotron.ca> a écrit dans le message de news:
%23RjT15qoHHA.4592@TK2MSFTNGP05.phx.gbl...
Bonjour,
Dans cette macro, je voudrais obtenir en U65 le nom de la
constante MsoAutoShapeType des formes automatiques
que dessinent ladite macro.
Est-ce possible ?
Serge
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Formes_Concentriques()
Sheets.Add
With ActiveWindow
.ScrollRow = 63
.ScrollColumn = 12
.DisplayGridlines = False
End With
cx = 1000
cy = 1000
For i = 1 To 10
For r = 10 To 200 Step 10
Lc = cx - r
Tc = cy - r
Wc = 2 * r
Hc = 2 * r
Set forme = ActiveSheet.Shapes.AddShape(i, Lc, Tc, Wc, Hc)
forme.Fill.Visible = False
Next r
DoEvents
[U65] = forme.Type 'MsoAutoShapeType ?
Sleep (1500)
[U65].ClearContents
ActiveSheet.DrawingObjects.Delete
Next i
End Sub
Tu vas devoir faire un select case sur forme.Type et pour obtenir la valeur numérique de chacun des types tu vas à partir de la fenêtre d'éditeur de code dans l'explorateur d'objets (F2) , dans la cas rechercher, tu inscris : MsoAutoShapeType et tu devrais avoir toutes les constantes listées dans la fenêtre de droite. si tu cliques sur chacune d'elles, leur valeur numérique s'affiche dans le bas de la fenêtre.
Dans le code, les constantes alphanumériques sont représentées par leur équivalent numérique... je ne connais pas une façon de faire l'inverse autre que mentionner.
Si tu trouves, dis nous le !
"garnote" a écrit dans le message de news: % Bonjour,
Dans cette macro, je voudrais obtenir en U65 le nom de la constante MsoAutoShapeType des formes automatiques que dessinent ladite macro. Est-ce possible ?
Serge
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub Formes_Concentriques() Sheets.Add With ActiveWindow .ScrollRow = 63 .ScrollColumn = 12 .DisplayGridlines = False End With cx = 1000 cy = 1000 For i = 1 To 10 For r = 10 To 200 Step 10 Lc = cx - r Tc = cy - r Wc = 2 * r Hc = 2 * r Set forme = ActiveSheet.Shapes.AddShape(i, Lc, Tc, Wc, Hc) forme.Fill.Visible = False Next r DoEvents [U65] = forme.Type 'MsoAutoShapeType ? Sleep (1500) [U65].ClearContents ActiveSheet.DrawingObjects.Delete Next i End Sub
garnote
Bricolage : Je me suis fait une liste avec les noms des constantes et les valeurs numériques correspondantes. Je peux alors récupérer le nom avec une recherche verticale. Curieusement, Excel ne veut pas dessiner les formes MsoShapeNotPrimitive (138) et MsoShapeMixed (-2). Il ne me reste que 137 formes :-)
Serge
"MichDenis" a écrit dans le message de news:
Tu vas devoir faire un select case sur forme.Type et pour obtenir la valeur numérique de chacun des types tu vas à partir de la fenêtre d'éditeur de code dans l'explorateur d'objets (F2) , dans la cas rechercher, tu inscris : MsoAutoShapeType et tu devrais avoir toutes les constantes listées dans la fenêtre de droite. si tu cliques sur chacune d'elles, leur valeur numérique s'affiche dans le bas de la fenêtre.
Dans le code, les constantes alphanumériques sont représentées par leur équivalent numérique... je ne connais pas une façon de faire l'inverse autre que mentionner.
Si tu trouves, dis nous le !
"garnote" a écrit dans le message de news: % Bonjour,
Dans cette macro, je voudrais obtenir en U65 le nom de la constante MsoAutoShapeType des formes automatiques que dessinent ladite macro. Est-ce possible ?
Serge
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub Formes_Concentriques() Sheets.Add With ActiveWindow .ScrollRow = 63 .ScrollColumn = 12 .DisplayGridlines = False End With cx = 1000 cy = 1000 For i = 1 To 10 For r = 10 To 200 Step 10 Lc = cx - r Tc = cy - r Wc = 2 * r Hc = 2 * r Set forme = ActiveSheet.Shapes.AddShape(i, Lc, Tc, Wc, Hc) forme.Fill.Visible = False Next r DoEvents [U65] = forme.Type 'MsoAutoShapeType ? Sleep (1500) [U65].ClearContents ActiveSheet.DrawingObjects.Delete Next i End Sub
Bricolage :
Je me suis fait une liste avec les noms des constantes
et les valeurs numériques correspondantes.
Je peux alors récupérer le nom avec une recherche verticale.
Curieusement, Excel ne veut pas dessiner les formes
MsoShapeNotPrimitive (138) et MsoShapeMixed (-2).
Il ne me reste que 137 formes :-)
Serge
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news: uNvQxCroHHA.1220@TK2MSFTNGP03.phx.gbl...
Tu vas devoir faire un select case sur forme.Type
et pour obtenir la valeur numérique de chacun des types
tu vas à partir de la fenêtre d'éditeur de code dans l'explorateur
d'objets (F2) , dans la cas rechercher, tu inscris : MsoAutoShapeType
et tu devrais avoir toutes les constantes listées dans la fenêtre de droite.
si tu cliques sur chacune d'elles, leur valeur numérique s'affiche dans le
bas de la fenêtre.
Dans le code, les constantes alphanumériques sont représentées par
leur équivalent numérique... je ne connais pas une façon de faire
l'inverse autre que mentionner.
Si tu trouves, dis nous le !
"garnote" <garnote3@ENLEVER.videotron.ca> a écrit dans le message de news:
%23RjT15qoHHA.4592@TK2MSFTNGP05.phx.gbl...
Bonjour,
Dans cette macro, je voudrais obtenir en U65 le nom de la
constante MsoAutoShapeType des formes automatiques
que dessinent ladite macro.
Est-ce possible ?
Serge
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Formes_Concentriques()
Sheets.Add
With ActiveWindow
.ScrollRow = 63
.ScrollColumn = 12
.DisplayGridlines = False
End With
cx = 1000
cy = 1000
For i = 1 To 10
For r = 10 To 200 Step 10
Lc = cx - r
Tc = cy - r
Wc = 2 * r
Hc = 2 * r
Set forme = ActiveSheet.Shapes.AddShape(i, Lc, Tc, Wc, Hc)
forme.Fill.Visible = False
Next r
DoEvents
[U65] = forme.Type 'MsoAutoShapeType ?
Sleep (1500)
[U65].ClearContents
ActiveSheet.DrawingObjects.Delete
Next i
End Sub
Bricolage : Je me suis fait une liste avec les noms des constantes et les valeurs numériques correspondantes. Je peux alors récupérer le nom avec une recherche verticale. Curieusement, Excel ne veut pas dessiner les formes MsoShapeNotPrimitive (138) et MsoShapeMixed (-2). Il ne me reste que 137 formes :-)
Serge
"MichDenis" a écrit dans le message de news:
Tu vas devoir faire un select case sur forme.Type et pour obtenir la valeur numérique de chacun des types tu vas à partir de la fenêtre d'éditeur de code dans l'explorateur d'objets (F2) , dans la cas rechercher, tu inscris : MsoAutoShapeType et tu devrais avoir toutes les constantes listées dans la fenêtre de droite. si tu cliques sur chacune d'elles, leur valeur numérique s'affiche dans le bas de la fenêtre.
Dans le code, les constantes alphanumériques sont représentées par leur équivalent numérique... je ne connais pas une façon de faire l'inverse autre que mentionner.
Si tu trouves, dis nous le !
"garnote" a écrit dans le message de news: % Bonjour,
Dans cette macro, je voudrais obtenir en U65 le nom de la constante MsoAutoShapeType des formes automatiques que dessinent ladite macro. Est-ce possible ?
Serge
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub Formes_Concentriques() Sheets.Add With ActiveWindow .ScrollRow = 63 .ScrollColumn = 12 .DisplayGridlines = False End With cx = 1000 cy = 1000 For i = 1 To 10 For r = 10 To 200 Step 10 Lc = cx - r Tc = cy - r Wc = 2 * r Hc = 2 * r Set forme = ActiveSheet.Shapes.AddShape(i, Lc, Tc, Wc, Hc) forme.Fill.Visible = False Next r DoEvents [U65] = forme.Type 'MsoAutoShapeType ? Sleep (1500) [U65].ClearContents ActiveSheet.DrawingObjects.Delete Next i End Sub