XL 2013 msopicture dans picture sur feuille

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

patricktoulon

XLDnaute Barbatruc
bonjour tous
connaissez vous un moyen plus rapide( je veux dire direct sans passer par un oléobject pour créer une picture avec un icon du ruban
VB:
Sub test1()
    Dim v$, I&, Img As OLEObject
    v = "_3DEffectColorPickerClassic"
    'Set Img = ActiveSheet.OLEObjects.Add(ClassType:="Forms.Image.1", Link:=False, DisplayAsIcon:=False, Left:=0, Top:=0, Width:=40, Height:=40)
    Set Img = ActiveSheet.OLEObjects.Add("Forms.Image.1", , , 0, 0, Width:=40, Height:=40)
    With Img
        .Object.Picture = Application.CommandBars.GetImageMso(v, 40, 40)
        .Object.PictureSizeMode = 1
        .Object.BorderStyle = 0
        Do Until I = 50: I = I + 1: DoEvents: Loop    'indispensable visiblement sinon l'image est blanche
        'copie en WMF(xlpicture)
        .Parent.Shapes(.Name).CopyPicture
        .Parent.Pictures.Paste
        .Delete
        'ou
        'issue de l'enregistrement de macro
        'copie en png
        '.Parent.Shapes.Range(Array(.Name)).Select
        'Selection.Copy
        '.Parent.PasteSpecial Format:="Image (PNG)", Link:=False, DisplayAsIcon:=False
        '.delete
    End With
End Sub
 
Salut Pat,
un code à tester ( non finalisé car existence du shape non testé ) :
VB:
Sub testF()
    Dim v$
    v = "_3DEffectColorPickerClassic"
    File = Environ("Temp") & "\" & v & ".jpg"
    stdole.SavePicture Application.CommandBars.GetImageMso(v, 40, 40), File
    ActiveSheet.Pictures.Insert File
End Sub
 
Bonjour @fanch55
a oui j'y ai même pas pensé a celle là
le stdtole est superflu mais je garde
savepicture est intégré dans VBA
VB:
Sub testF()
    Dim v$
    v = "_3DEffectColorPickerClassic"
    File = Environ("Temp") & "\" & v & ".jpg"
    SavePicture Application.CommandBars.GetImageMso(v, 40, 40), File
    ActiveSheet.Pictures.Insert File
End Sub

merci
 
Bonjour.

Chez moi non, apparemment, il n'est pas membre de la bibliothèque VBA, seulement la stdole.
Mais ça m'intéresse un peu. Je n'ai jamais bien compris ce qu'on pouvait tirer de cette bibliothèque, sans doute parce que je ne m'y étais intéressé qu'il y a trop longtemps pour avoir été suffisamment expérimenté …
1681662102301.png


Normalement, la bib est implicitement incluse au lancement d'excel et effectivement, savepicture concerne celle-ci .
 
Oui, pour moi aussi c'est un peu nébuleux.
J'ai pensé un truc : en utilisant son .hPal serait-il possible de récupérer dans un tableau la palette d'une image, la modifier et la renvoyer ? Ça pourrait être un canal à des animations d'images … Je pense notamment à des aiguilles de montre … La map, aussi ? Remarque, j'ai ce qu'il faut dans un coin, mais c'est horriblement compliqué … J'en suis toujours revenu à passer par un .bmp
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

M
Réponses
9
Affichages
2 K
Retour