Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 


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
F
Réponses
1
Affichages
816
A
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…