Comment créer un controle activex ultrapersonnalisable

Forum pour partager vos connaissances et vos astuces Excel / VBA ...
Avatar du membre
waard
Contributeur
Contributeur
Messages : 424
Appréciations reçues : 13
Inscrit le : 9 février 2015
Version d'Excel : 2013, 2016, FR
Téléchargements : Mes applications

Message par waard » 18 décembre 2017, 12:41

Hello, Hello, :)

:|||: Je propose une petite série de tutos, en cours de rédac: Sur la création de contrôles ActiveX ultrapersonnalisables. :o

:!: Ces propositions, nécessite un ordinateur un peu puissant pour faire tourner le principe convenablement. :non:
:!: Tutos destinés aux codeurs vba avertis :non:

1. La liste déroulante totalement personnalisable en mode avancé
2. Le Sommaire totalement personnalisable en mode avancé
3. Les Boutons totalement personnalisables en mode avancé



::D Pour commencer : La liste déroulante totalement personnalisable en mode avancé.
tuto-creer-liste-deroulante-personalisable-excel.jpg
tuto-creer-liste-deroulante-personalisable-excel.jpg (97.55 Kio) Vu 749 fois
Lien du tuto dans la rubrique cours : https://www.excel-pratique.com/fr/telec ... -no321.php
:?: Petite proposition sur comment créer une liste déroulante, personnalisée de manière très avancée avec :
- des valeurs d'item de liste, avec format police, couleurs de fond, ... différenciable et totalement personnalisable
- Une liste à plusieurs colonnes en extrapolant le principe
- des images dans la liste
- des couleurs suivant l'item de la liste où se trouve la souris
- reproduire un déroulé de liste
- Y'a aussi une macro pour faire cligner de l'oeil un pingouin


:srr: Et aussi : Le Sommaire totalement personnalisable en mode avancé.
present tuto sommaire.jpg
present tuto sommaire.jpg (127.93 Kio) Vu 721 fois
Lien du tuto dans la rubrique cours : https://www.excel-pratique.com/fr/telec ... -no322.php
:?: Petite proposition sur comment créer un Sommaire, personnalisée de manière très avancée avec :
- comme pour la liste, la possibilité d'y inclure image, polices, couleur différenciée
- de suivre un lien hypertexte en scrollant ou par suivi lien hypertexte
- des couleurs suivant l'item de la liste où se trouve la souris, en utilisant la Mise en Forme Conditionnelle au lieu de VBA
- reproduire un effet d'affichage par déploiement du Sommaire, en le faisant toujours dans la partie visible d'Excel


::D Ainsi que : Les Boutons totalement personnalisables en mode avancé.
screen tuto bouton.jpg
Lien du tuto dans la rubrique cours : https://www.excel-pratique.com/fr/telec ... -no324.php
:?: Petite proposition sur comment créer des Boutons du même type que les contrôles ActiveX, personnalisés de manière avancé avec :
- comment recréer un Bouton Bascule sympa
- comment recréer un Bouton type commandbutton avec l'effet de pression
- comment créer pour un bouton, une animation de rotation (6 options X,Y,Z) après un clic
- comment créer pour un bouton, une animation de clignotement (rapide, ou personnalisé)
- comment personnalisé un Ctrl ActiveX, en lui mettant un effet d'inclinaison par exemple




F.A.Q. Générale :
> Règle à prendre en compte : Moins il y'aura de personnalisations, moins il y'aura besoin de puissance et plus le code sera rapide à lire
> Règle à prendre en compte : Plus le fichier sera lourd, moins l'animation sera fluide



Bon code ;;)
Modifié en dernier par waard le 2 janvier 2018, 13:03, modifié 7 fois.
"One and yet a mass"
COHENNY Tristan - Projet MYRMIDON
Avatar du membre
waard
Contributeur
Contributeur
Messages : 424
Appréciations reçues : 13
Inscrit le : 9 février 2015
Version d'Excel : 2013, 2016, FR
Téléchargements : Mes applications

Message par waard » 18 décembre 2017, 12:48

Masterclass & Outils complémentaires de codage rapide

Post qui concernera les masterclass & outils à venir :|||:


Sommaire Masterclass
1. 2 Méthodes de MàJ de la plage cellules liée à l'image
2.




1. 2 Méthodes de MàJ de la plage cellules liée à l'image
méthode 1 màj plage auto.jpg
méthode 1 màj plage auto.jpg (134.64 Kio) Vu 705 fois
:?: Démo, illustrée dans le tuto sur la liste déroulante
méthode 2 màj plage auto.jpg
méthode 2 màj plage auto.jpg (182.87 Kio) Vu 705 fois
:?: Démo, illustrée dans le tuto sur le Sommaire





Sommaire Outils complémentaires
1. Outil de création d'image liée avec Contrôles Activex auto-placés
+ Outil de génération de code pour les création d'image avec Contrôle





1. Outil de création d'image liée avec Contrôles Activex auto-placés
+ Outil de génération de code pour les création d'image avec Contrôle

Dans le cadre des tuto sur la création avancé de Contrôle Liste déroulante et Sommaire en mode avancé suivant mon principe mis en avant, j'ai créé 2 outils en 1 ::D d'aide à la création.
screen outil de créa d'image liée à cellule avec ctrl activex.jpg
screen outil de créa d'image liée à cellule avec ctrl activex.jpg (203.67 Kio) Vu 672 fois
1. Il y'a un outil de création d'image liée à une plage cellule, avec une auto-superposition des contrôles Label et un groupement auto.
2. Et aussi un petit outil de génération de codage auto pour chaque Label, histoire de n'avoir à un faire qu'un.
;;)
"One and yet a mass"
COHENNY Tristan - Projet MYRMIDON
Avatar du membre
Tipsy
Jeune membre
Jeune membre
Messages : 35
Appréciation reçue : 1
Inscrit le : 30 octobre 2017
Version d'Excel : 2016

Message par Tipsy » 17 janvier 2018, 14:01

Bonjour Trist.... Waard :P

Tout d'abord, merci pour ton travail colossal et surtout un grand bravo !
J'ai essayé de suivre ton tuto pour me faire un bouton à bascule... Mais je penses que je suis pas doué :
Je me permet de poster ça ici en me disant que c'est surement une erreur de débutant et que ça peut aider des personnes comme moi à mieux comprendre ton code.

Bonne journée !

Code : Tout sélectionner

Dim sh As Shape
Set sh = Shapes("Bouton_bascule")

'Application.ScreenUpdating = False
If sh.ThreeD.BevelTopType <> msoBevelCircle Then 'si bouton non poussé alors format poussé
    'Format bouton en mode poussé
    sh.ThreeD.BevelTopType = msoBevelRelaxedInset 'effet 3d biseau arrondi convexe
    sh.Fill.ForeColor.RGB = RGB(0, 67, 118) 'Shape en Bleu foncé
    Range("CELL_LIEE_BOUT_POUSSOIR").Value = "Bouton poussé" 'Option d'index d'une valeur liée au bouton
Else
    'Format bouton en mode dépoussé
    sh.ThreeD.BevelTopType = msoBevelCircle  'effet 3d biseau bordure marqué
    sh.Fill.ForeColor.RGB = RGB(0, 112, 192) 'Shape en Bleu normal
    Range("CELL_LIEE_BOUT_POUSSOIR").Value = "Bouton non poussé"
    
End If
'Application.ScreenUpdating = True
MsgBox "Le bouton a été basculé ;-)", vbInformation, "Test"

End Sub

Fichiers joints
excel pratique bouton 2 états.xls
(158.5 Kio) Téléchargé 29 fois
"Quelle que soit la discipline, le meilleur moteur est l'ascèse. A celui qui veut écrire, offrez peu de papier. Au cuisinier en herbe, proposez trois ingrédients. Aujourd'hui, les débutants de tout poil reçoivent une débauche de moyens. Cela ne leur rend pas service."
Avatar du membre
waard
Contributeur
Contributeur
Messages : 424
Appréciations reçues : 13
Inscrit le : 9 février 2015
Version d'Excel : 2013, 2016, FR
Téléchargements : Mes applications

Message par waard » 17 janvier 2018, 15:30

Hello Hello, :)

Alors après audit interne du fichier, il y'a 2 pb :lole:
Copie de excel pratique bouton 2 états.xlsm
(78.37 Kio) Téléchargé 29 fois
Pb de bas niveau :
Inversion dans le type de biseau msoBevelCircle/msoBevelRelaxedInset, msoBevelCircle en position après Si Alors/If then
alors qu'il devrait en position Sinon/Else, du coup à chaque fois ça ne fait qu'une action et la même.
Bon ça ce n'est rien, par rapport à l'autre pb :!:

Pb bloquant :-)))
Le fichier est d'après mon inspecteur de fichier, un fichier 1997-2003, apparemment la compatibilité suivant le principe de tuto ne marche pas pour les macros dans une forme.
> Si on lance la macro directement par le développeur ça marche, le bouton flèche change.
> Si on lance la macro par un bouton activex ça marche, le bouton flèche change aussi.
Il faut croire qu'à l'époque il ne devait pas être possible d'affecter une macro à une forme, je n'ai pas trop de souvenir de l'époque à part le crack financier asiatique et la coupe du monde.
Pour résoudre ça, il faudrait passer à une version de fichier plus moderne, si ta version d'Excel le permet, moi je suis sur 2016.

Voila ;;)
"One and yet a mass"
COHENNY Tristan - Projet MYRMIDON
Avatar du membre
Tipsy
Jeune membre
Jeune membre
Messages : 35
Appréciation reçue : 1
Inscrit le : 30 octobre 2017
Version d'Excel : 2016

Message par Tipsy » 17 janvier 2018, 16:04

Salut ! :)

Merci pour l'audit interne ! ::D

Pour le Pb de bas niveau :
J'avais compris la logique, mais dépourvu de force mentale j'ai inversé dans un élan de "pourquoi pas" totalement désespéré. ::(
Pour le Pb de haut niveau :
Ma vie est fichue, le fichier sur lequel je veux faire apparaître ce bouton grâce à une macro est issu d'une extraction d'une base nationale qui n'est plus développée depuis ces mots :
""Je crois qu'après avoir vu ça, on peut mourir tranquille ! Enfin, le plus tard possible quand même mais... On peut ! Ah c'est superbe ! Quel pied ! Ah quel pied ! Oh putain ! Oh la la la la la la ! Oh ! Oh c'est pas vrai ! Oh c'est pas vrai !"
J'ai pourtant réussis à affecter une macro à une image issue d'un fichier dans mes documents via une première macro...
Et si, sur le principe du tuto, au lieu de changer de couleur et de bissau, je changais de photo avec une photo bouton non appuyé et une photo bouton appuyé :scritch:

Merci beaucoup d'avoir pris le temps de m'aider ! Je me servirai de tes boutons et j'irais voir tes autres tuto pour mes prochains fichiers (sur 2016 :lole: )

Cordialement

Tipsy
1 membre du forum aime ce message.
"Quelle que soit la discipline, le meilleur moteur est l'ascèse. A celui qui veut écrire, offrez peu de papier. Au cuisinier en herbe, proposez trois ingrédients. Aujourd'hui, les débutants de tout poil reçoivent une débauche de moyens. Cela ne leur rend pas service."
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message