Autres en ce beau dimanche un petit aperçu de mon ribbon creator vba

patricktoulon

XLDnaute Barbatruc
bonjour a tous
juste un petit apercu de mon ribbon creator VBA version beta 1.0

la version avec litview ;la version sans listview et 2/3 projet commencé pour exemple
allez c'est parti les beta testeur ;)
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
bonjour Staple 1600
si SI il arrive
je fait une copie avec le dialog icon imagemso sans listview( MODELE avec ma collection userform responsif ) pour ceux qui ne veulent pas utiliser le listview
dommage j'ai pété mon micro cam j'ai donc plus de micro pour expliquer, surtout pour les controls dynamique par callback
mais c'est assez facile
laisse moi encore une petite demie heure
 

patricktoulon

XLDnaute Barbatruc
Bonjour Roblochon
tu peux ;)
n'hésitez pas si j'ai oublié un message d'avertissement d'impossibilité de placer un element a tel ou tel endroit
je pense les avoir tous vu mais bon

les bouton de droites pour les controls
les foncés c'est "ajouter"
les clairs c'est pour insertbefore
ca m'ennuie vraiment d'avoir peté ma cam avec micro j'aurais pu expliquer de vive voie
j'essaie de réparer avec du scotch ;);)🤣🤣
 

Staple1600

XLDnaute Barbatruc
Re, [édition: Bonjour Roblochon ;)]

[retour ou callback - tiens ca me rappelle : Call me may be ;)]
Si j'étais moi, il n'y aurait point de dossier geny dans le zip...
(cf... le fameux point 8)]
[/retour]
Ceci dit, je vais passer au test ;) pour un retour axé sur le VBA.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

Très bel ouvrage
(mais code trop condensé pour une lecture facile)

Sinon pour ma gouverne
VB:
 HandleClipImage = ExecuteExcel4Macro("CALL(""user32"",""GetClipboardData"",""JJ""," & &HE & ")")
    Retour = ExecuteExcel4Macro("CALL(""gdi32"",""CopyEnhMetaFileA"",""JJC""," & HandleClipImage& & ",""" & FicTmp & """)")
    ExecuteExcel4Macro ("CALL(""gdi32"",""DeleteEnhMetaFile"",""JJ""," & Retour & ")")
    ExecuteExcel4Macro ("CALL(""user32"",""CloseClipboard"",""J"")")
    getcopyWMF = FicTmp
Tu mets mettre quelques commentaires et explications, stp ?
 

patricktoulon

XLDnaute Barbatruc
re
cette fonction execute les api sans déclaration (pour compatibilité(32/64))
elle est faite pour loader une image(png,ico) sur la feuille la copier en metafichier sur le bureau et je fait un loadpicture sur les label représentant l élément du ruban sélectionné dans la vue de gauche
sinon on pourrait pas avoir le visuels des icon perso si c'est des png ou ico dans les labels de la vue de gauche car le WMF(windows meta fichier (avec ou sans transparence)) sont compatibles avec les activx dans les userforms c'est juste pour avoir le visuel sur l'icon dans la vue pendant la construction du ruban
 

patricktoulon

XLDnaute Barbatruc
re

'recupe le handleimage dans les data du clipboard de type 14 (&HE) qui est le type WMF généré par le copy picture sans argument qui fait une copie en WMF
HandleClipImage = ExecuteExcel4Macro("CALL(""user32"",""GetClipboardData"",""JJ""," & &HE & ")")


'retour = le retour (reussi ou pas) de la copie sur le bureau
Retour = ExecuteExcel4Macro("CALL(""gdi32"",""CopyEnhMetaFileA"",""JJC""," & HandleClipImage& & ",""" & FicTmp & """)")


'delete le meta fichier du clipboard
ExecuteExcel4Macro ("CALL(""gdi32"",""DeleteEnhMetaFile"",""JJ""," & Retour & ")")


'ferme le clipboard
ExecuteExcel4Macro ("CALL(""user32"",""CloseClipboard"",""J"")")


'la fonction retourne le chemen du fichier image WMF temporaire sur le bureau
getcopyWMF = FicTmp
 

Staple1600

XLDnaute Barbatruc
Re

Ca, j'avais compris
Je parlais de commentaires qui explique la syntaxe
ExecuteExcel4Macro("CALL(...
EDITION
Houps pas rafraichi (merci pour les commentaires)

Pour la version sans ListView (je peux décocher la référence au SP6) ?

Désormais tu fais des versions publiques et des versions privées?
Et tous tes codes publiés sur XLD devront désormais respectés ce "mantra" ?
VB:
'licence: toute reproduction du ou des code sont interdites sauf si l'auteur est cité pour chaque portions de code copié
?
Ce qui se télescope avec ce qu'on peut lire sur XLD, non ? ;)
Vous nous accordez une licence non exclusive, permanente, irrévocable et illimitée pour utiliser, publier ou republier votre Contenu en relation avec le Service. Vous conservez le droit d'auteur sur le contenu.
 

Phil69970

XLDnaute Barbatruc
Bonjour à tous

Si je voulais chipoter ....
1615728671572.png


@Phil69970
 

Staple1600

XLDnaute Barbatruc
Bonjour Phil69970

=>Phil
C'est normal, toutes les versions beta ou pas de patrick sont plus ou moins fâchées avec l'orthographe.
(C'est pas moi qui le dit, il le dit lui-même ;) )

NB: On aura noté la présence de l'émoticône qui signale un trait d'humour (ou tout du moins une tentative)
 

patricktoulon

XLDnaute Barbatruc
d'accords tu veux l'explication sur la syntaxe des apel d'api avec les macros 4
donc
exemple
ExecuteExcel4Macro ("CALL(""gdi32"",""DeleteEnhMetaFile"",""JJ""," & Retour & ")")

traduction
ExecuteExcel4Macro ("CALL(""nom de la DLL SANS EXTENTION"",""NOM DE LA FONCTION DE CETTE DLL"",""JJ""," & ARGUMENT& ")")

les "jj.etc...)
J=integer long boolean par conversion (0,1)
la fonction doit retourner un long "declare function blabla...(....) as long"
le premier j c'est pour le retour de la fonction
le second et les suivants (selon l'api) c'est les arguments
 

Discussions similaires

Statistiques des forums

Discussions
312 469
Messages
2 088 688
Membres
103 920
dernier inscrit
jean claude