IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

des boutons plus fun pour mes userforms


Sujet :

Contribuez

  1. #1
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut des boutons plus fun pour mes userforms
    bonjour a tous

    j'ai fait un rêve cette nuit ,j'ai rêver que les vilains bouton carrés ou rectangulaire disparaissaient de excel

    je me suis penché sur la question et voila le résultat

    vous vous demandez comment j'ai fait hein....

    et bien voila un fichier en démo

    fini les boutons tristounet

    comment j'ai fait :
    j'ai placé des labels et non des boutons dans mon userform

    IMPORTANT
    dans leur tag j'ai mis un nombre( ca va nous servir plus tard)


    je les ai mis en couleur
    je les ai bordurer (autre couleur)
    j'ai écrit le texte que je veux voir écrit sur le bouton (caption)
    le font format est diverse sur chaque label(size,bold,italic)
    maintenant que j'ai tout mes pseudo bouton je vais les transformer
    je commence par ajouter un shape au même dimension que les labels
    le typeindex de shape sera defini par le nombre que j'ai inscrit dans le tag du label
    la même couleur de fond
    la même couleur de bordure
    j'ajoute l'effet degradé (plus joli)
    le même texte que la caption avec les même propriété(size,bold,italic)
    je rend maintenant tout les labels transparent complètement
    backstyle et borderstyle a 0
    ensuite avec la fonction colle image je copie la forme ajoutée précédemment
    je créé un bitmap (api gdi )
    et je le place dans le label

    résultat vous avez 183 forme de boutons disponible
    grace au fait que la fonction gere les transparences
    c'est fun non???
    regardez plutot les captures d'ecran ils parles mieux

    avant:



    et après



    qu"en pensez vous
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Pour information, tu peux réaliser ces boutons sur PowerPoint , et un clique droit sur la forme te permet de l'enregistrer au format Gif et donc mettre cette image dans un contrôle image.

    Philippe

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonsoir philippe jochmans

    oui mais la on est sur exel et je n'est pas besoins de sauver l'image en gif ou jpeg

    ce qui me deleste deja d'avoir des fichiers gifs a devoir effacer

    surtout que dans ce cas vaut mieux avoir le fichier dans un dossier

    imagine si le fichier ce trouve sur le bureau et que l'on utilise ta methode

    moi je n'ai pas un ecran hd

    l'avantage de cette methode c'est qu'apres la transformation il ne reste rien

    aucun shape
    aucune image exportée
    memoire vidé sauf le clipboard normalement si je ne me trompe pas il doit y avoir le derniere image de la derniere shape
    mais je peut ajouter l'api (emptyclipboard) si tu veux je ne l'ai pas fait c'est un oubli


    d'autant plus que si je fait un loadpicture sur le label avec un gif je me retrouve avec dans le label la transparence(partie qui entourent la forme) transformée en blanc
    il faut que je passe encore par une astuce en bricolant le background.transparency ensuite le repasser al moulinette "colle_image"
    ce qui n'a finalement aucun interet

    mais dans cette optique je preparerais un exemplaire dont le titre sera
    "comment mettre un "png" dans un userform sans passer par un webbrowser"
    tout en profitant des effets de transparence
    je suis en train de le finaliser

    qu'en pense tu ?
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    D'abord je ne dénigre pas ton travail, je donne une information complémentaire, car je trouve ce que tu as fait très bien (pour info ne fonctionne pas sur Excel 2002, mais fonctionne sur Excel 2007), un soucis de donner hors seuil (la valeur tapée est en dehors des limites)

    L'erreur est sur cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      .Fill.OneColorGradient msoGradientFromCenter, 4, 0.1
    Ton travail serait un plus bien sous forme de complément, qui en désignant le label te permet de paramétrer la forme (forme, couleur de fond, etc...) et générerai le remplacement du label par la forme sélectionnée.

    Je dois être honnête, je suis souvent assez critique, mais là j'aime bien, et ton code est de plus en plus propre

    Philippe

    PS : Philippe suffit amplement.

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re bonsoir philippe jochmans
    on ne peut que progresser en travaillant

    pour excel 2002 effectivement il doit y maquer quelque librairie ou différente )

    pour ma part je travaille avec 2003 et 2007 en 32 bit expres pour rendre le plus compatible avec tout le monde

    ensuite pour la valeur hors limite regarde si je n'ai pas mis dans un tag un nombre paire

    il semblerai que les type de shapes soit impaires (1,3,5,7,9,ect......)

    mais il est vrai que quand je regarde les codes que je fesais il y a 2 ans j'ai du mal a trouver les mots
    d'ailleurs je mes reprends les un apres les autres

    et puis les critiques ne sont pas forcément négatives

    en tout cas le résultat de celui ci me satisfait bien que je suis en train déjà de le faire évoluer

    une partie rollover sur le bouton arrive et c'est toi qui m'en a donné l'idée

    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    334
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 334
    Points : 253
    Points
    253
    Par défaut
    Bonjour,
    Sous excel 2003, i y a un prob ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Function transforme_bouton(usf As Object)
    .......
    .Fill.OneColorGradient msoGradientFromCenter, 4, 0.1
    Mes remerciements
    Je préfère une vérité nuisible à une erreur utile : la vérité guérit le mal qu'elle a pu causer.

  7. #7
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut
    re philippe jochmans


    Ton travail serait un plus bien sous forme de complément, qui en désignant le label te permet de paramétrer la forme (forme, couleur de fond, etc...) et générerai le remplacement du label par la forme sélectionnée.
    c'était une option au début mais je me suis résigné a simplement placé l'image dans le fond du label transparent car remplacer le label implique de déplacer ses fonctions click,move,ect...) c'était un peu le debat avec pierre fauconnier dans une de mes questions dans le forum vba excel
    au plaisir
    ou alors comme dans l'exemple mettre une classe pour controls et intégrer chaque nouveau controls dans la classe
    enfin beaucoup de moulin finalement pour pas gransd chose
    le but étant de diminuer l'utilisation de la mémoire et uc tout en gardant un maximum d'option

    cela dit en complément il fonctionnerait parfaitement puisque les variables nécessaires sont en public donc modifiables partout dans l'application en cas de "XLA"

    au plaisir

    bonjour vieux monsieurs
    Citation Envoyé par vieuxmonsieur Voir le message
    Bonjour,
    Sous excel 2003, i y a un prob ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Function transforme_bouton(usf As Object)
    .......
    .Fill.OneColorGradient msoGradientFromCenter, 4, 0.1
    Mes remerciements
    il faudrait que tu tape F2 et que tu regarde comment on l'ecrit avec excel 2003 cela dit

    j'ai aussi 2003 mais avec des mise a jours très recentes donc moi ça fonctionne

    si quelqu'un avec 2003 pourrait me retourner la façon de l'écrire je l'intégrerais avec une condition

    au plaisir

    bonsoir vieux monsieur

    essaie cette écriture a la place chez moi ça ne change rien mais peut être que chez toi ça fera l'affaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Fill.OneColorGradient Style:=msoGradientHorizontal, Variant:=2, Degree:=0.1
    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    334
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 334
    Points : 253
    Points
    253
    Par défaut
    Cette fois c'est ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With ActiveSheet.Shapes.AddShape(modelform, 10, 10, ctrl.Width + 20, ctrl.Height + 20)
    Je préfère une vérité nuisible à une erreur utile : la vérité guérit le mal qu'elle a pu causer.

  9. #9
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonjour
    décidément entre toi et vadorblanc chez vous rien ne veux marcher



    si maintenant il y a une erreur plus bas dans le code c'est que tu a remplacé

    quelque chose plus haut qui n'est plus valable

    cela dit moi je code il est vrai en 2007 donc la il va falloir faire des efforts et regarder un peut dans ton F2 pour voir les différences avec 2007 et 2003

    des que tu a trouvé poste la réponse ça sera utile pour les autres


    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    334
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 334
    Points : 253
    Points
    253
    Par défaut
    Je n'ai rien remplacé.
    Quand a F2 ca m'ouvre une fenêtre explorateur d'objet, mais je ne sais pas quoi faire, désolé.
    Je préfère une vérité nuisible à une erreur utile : la vérité guérit le mal qu'elle a pu causer.

  11. #11
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonjour

    c'est vrai que c'est assez difficile quand on a pas l'habitude d'utiliser F2
    moi meme je m'i pert des fois
    mais comme je suis en 2007 sur ce point la je ne peut pas t'aider

    je fait pourtant des recherches et je n'ai pas vu une facon différente pour 2003

    en attendant le mien évolu il y a maintenant des effet au passage de la souris et click

    il est tout beau tou neuf et plus chouette

    en piece jointe

    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  12. #12
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Joli, et belle exercice de programmation.

    Personnellement je ne les utiliserais jamais, car par expérience (et encore la semaine dernière dans les tests d'une application en VB), les utilisateurs préfèrent des choses soft, car cela use à la longue toutes ces couleurs qui explosent.

    Ce que tu as fait est bien pour les formes (et encore pas toutes), mais il faut rester sur du sobre.

    Ce que tu peux essayer, c'est de calquer les couleurs aux couleurs du thème de l'utilisateur qu'il peut changer sur son OS.

    Philippe

  13. #13
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonsoir philippe JOCHMANS

    oui c'est vrai que la j'ai poussé le bouchon un peu loin mais bon c'etait le theme de cet exercice

    cela dit maintenant que les fonctions sont séparées on peut l'apliquer qu'a 1 seul bouton par exemple

    d'autant plus que les effets sont gérer par la classe label finalement

    les changement sont opéré grave a "normal,bas,over " en fin d'appel a la fonction donc on peut avoir simplement les formes
    c'est un peu pour ca que j'ai tout séparé

    je me suis bien amusé

    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  14. #14
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonjour philippe JOCHMANS

    Ce que tu peux essayer, c'est de calquer les couleurs aux couleurs du thème de l'utilisateur qu'il peut changer sur son OS
    j'avoue que je ne comprend pas bien ton idée

    le thème de l'utilisateur oui mais quoi?

    sachant que les couleur que j'utilise sont déjà dans les labels comme l'indique les deux clichée du premier poste

    pourrais tu développer je suis intéressé

    merci pour le retour

    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  15. #15
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonjour a tous


    et revoila la bete maintenant on peu mettre des joie titres dans le userform avec les wordarts

    il suffi de nommer les labels texte1,texte2 ect...
    dans leurs tag mettre l'index du model de wordart suivi de 2 points et l'index de l'effet sur le wordart

    si il porte le mot texte dans leur nom il seront pris comme des labels titre

    voila le nouveau fichier
    les apercu sont disponible aussi

    au plaisir
    Images attachées Images attachées   
    Fichiers attachés Fichiers attachés
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. Twitter annonce des règles plus strictes pour son API
    Par Hinault Romaric dans le forum APIs Réseaux sociaux
    Réponses: 20
    Dernier message: 09/07/2012, 17h12
  2. Twitter annonce des règles plus strictes pour son API
    Par Hinault Romaric dans le forum Actualités
    Réponses: 20
    Dernier message: 09/07/2012, 17h12
  3. [SP-2010] Utilisations des boutons du rubans pour Sauvegarder
    Par dragoli dans le forum SharePoint
    Réponses: 4
    Dernier message: 08/11/2011, 11h18
  4. Réponses: 4
    Dernier message: 04/04/2010, 11h05
  5. Réponses: 2
    Dernier message: 13/09/2007, 14h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo