Comment avoir un Shapes Transparent par code

cathodique

XLDnaute Barbatruc
Bonjour,

Je m'initie aux shapes en vba. J'essaie de faire des croquis en utilisant des shapes, mais j'ai un souci que je n'arrive pas à résoudre. J'ai bien trouvé des exemples (comme ceux de Boisgontier) pour faire des fonds en dégradé.
Moi, je voudrai seulement avec un shapes transparent, afin de pouvoir lire ce qu'il y sur la feuille de calcul.
VB:
Sub CréaFormeTest()
    With ActiveSheet.Shapes.AddShape(msoShapeRoundedRectangle, 100, 200, 150, 30)
        '100 position x,200 postion y, 150 longueur, 30 largeur
        .Fill.ForeColor.SchemeColor = 25  'couleur remplissage
        With .Line
            .DashStyle = 1
            .Weight = 2
            .ForeColor.SchemeColor = 8
        End With
        
        With .TextFrame
            With .Characters
                .Text = "test"
                With .Font
                    .Name = "Calibri"
                    .Size = 12
                    .Bold = True
                    .ColorIndex = 1
                End With
            End With
            .HorizontalAlignment = xlHAlignCenter
            .VerticalAlignment = xlVAlignCenter
            .Orientation = msoTextOrientationHorizontal
        End With
    End With
End Sub
En vous remerciant par avance.
 

job75

XLDnaute Barbatruc
Re : Comment avoir un Shapes Transparent par code

Bonjour cathodique,

Moi, je voudrai seulement avec un shapes transparent, afin de pouvoir lire ce qu'il y sur la feuille de calcul.

Avec l'enregistreur de macro on trouve facilement le code adéquat :

Code:
With ActiveSheet.Shapes.AddShape(msoShapeRoundedRectangle, 100, 200, 150, 30)
  .Fill.Visible = msoFalse
  '----
End With
A+
 

cathodique

XLDnaute Barbatruc
Re : Comment avoir un Shapes Transparent par code

Bonsoir Job75, Paf,

je vous remercie beaucoup.
Avec l'enregistreur de macro on trouve facilement le code adéquat
Et pourtant, j'ai essayé à plusieurs reprises avec l'enregistreur de macro et voici le code obtenu, alors que j'avais inséré un shapes rectangulaire et mis aucun remplissage de fond.
VB:
Sub Macro2()
'
' Macro2 Macro
    Range("H11").Select
End Sub
Est-ce normal ou est-ce que c'est mon Excel qui déconne?

Merci, c'est le résultat que je voulais obtenir.

Bonne soirée.
 
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : Comment avoir un Shapes Transparent par code

Bonjour à tous


Et pourtant, j'ai essayé à plusieurs reprises avec l'enregistreur de macro et voici le code obtenu, alors que j'avais inséré un shapes rectangulaire et mis aucun remplissage de fond.

C'est normal, sur XL2007, ils ont oublié d'insérer les objets quand on enregistre les macros.

Sinon, soit tu essayes avec une version plus récente, soit tu cherches des codes sur le net ou encore voir dans l'aide VBA.
 

cathodique

XLDnaute Barbatruc
[RESOLU] : Comment avoir un Shapes Transparent par code

Bonsoir MJ13,

Je te remercie pour l'info. J'avais cru que l'xl2007 sur ma machine avait un gros souci.

J'ai effectué des recherches dans l'aide mais ne connaissant pas les syntaxes, j'ai fais n'importe quoi.

Merci et bonne soirée.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 611
Messages
2 090 226
Membres
104 453
dernier inscrit
benjiii88