USERFORM AVEC FONCTIONS MAXIMISER, MINIMISER ET ETIRABLE UTILISANT LES API WINDO

allthew3 Messages postés 551 Date d'inscription samedi 8 janvier 2005 Statut Membre Dernière intervention 12 avril 2008 - 5 juil. 2007 à 15:24
cs_patosch Messages postés 42 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 26 juin 2013 - 13 déc. 2010 à 18:18
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/43350-userform-avec-fonctions-maximiser-minimiser-et-etirable-utilisant-les-api-windows

cs_patosch Messages postés 42 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 26 juin 2013
13 déc. 2010 à 18:18
bonjour

pour reconnaitre le handle tu utilise "gaw:du get active windows" je faisais cette même erreur par fainéantise mais par curiosité
essai de faire tourner ta fonction avec plusieurs usf affiché a l'écran tu va voir que tous vont prendre les modifications

utilise plutôt le findwindowA vbnullstring,me.caption c'est plus précis sur la fenêtre a modifier

au plaisir
Eleasias Messages postés 36 Date d'inscription mardi 18 mars 2008 Statut Membre Dernière intervention 31 mars 2008
26 mars 2008 à 09:24
Bonjour,
je suis débutant en VBA et j'aimerai que ma fenêtre s'ouvre en plein écran par défaut, quelqu'un peut me dire comment faire?
Merci d'avance
2pme Messages postés 3 Date d'inscription samedi 24 mai 2003 Statut Membre Dernière intervention 25 novembre 2007
25 nov. 2007 à 14:35
Pour faire apparaitre les boutons Minimiser, Maximiser après les avoir associés à la fenêtre
il suffit de redessiner le menu du UserForm avec DrawMenuBar Whdl

La déclaration de la fonction DrawMenuBar :

Private Declare Function DrawMenuBar Lib "user32.dll" (ByVal m_hWnd As Long) As Long

En plus, le fait d'exécuter DrawMenuBar dispense de passer par la propiété Title.
En passant ton code est privé de Option Explicit.

2pme
cs_cobra2008 Messages postés 25 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 27 août 2010
30 oct. 2007 à 10:14
Salut cameron91
Je suis novice en VBA (je ne développe que depuis hier sous Excel)
ton code est très interressant, mais je n'arrive pas à interdire le plein écran de ma useform (cela doit être trois fois rien mais comme je ne maitrise pas du tout le code et l'interface, je passe à côté)
Ce que je voudrais faire, c'est soit ne pas afficher le bouton "maximize" ou si cela n'est pas possible, arriver à lire l'évenement quand on appui dessus pour interdire le plein écran de la fenêtre

Merci d'avance à ceux ou celles qui pourront m'aider
Gyre30 Messages postés 2 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 27 juillet 2007
27 juil. 2007 à 10:59
Rebonjour
Je réponds à mon propre message.
J'ai trouver un moyen de faire marcher mon application.

Le problème venait du fait que dans Userform_Inisalize ()
Après avoir mis ce bout de code j'ajoutais des valeurs dans la spreadsheet, puis je lui donnais le focus.
J'ai juste écris le code après l'incrémentation de la spreadsheet.
J'espère que ça pourra aider certains.
et encore merci.

Gyre
Gyre30 Messages postés 2 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 27 juillet 2007
27 juil. 2007 à 10:45
Bonjour
D'abord merci pour ce petit bout de code qui me simplifie grandement la vie.
Par contre j'ai un petit probleme.
Le code marche nickel sur mes différentes userforms sauf une ou j'ai une Spreadsheet.
Je ne m'y connais pas assez pour comprendre le pourquoi de la chose. En fait: La userform affiche bien les icones réduire agrandir, mais le clique n'a aucun effet dessus. J'ai remarqué que la croix (Qui marche) ferme bien la user forme mais c'est une croix qui est décalée d'un pixel comme si elle se trouvait derrière l'image d'une première croix.

Bref ca ne marche pas, et ça marche si j'enleve la Spreadsheet...
Help SVP
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
11 juil. 2007 à 17:34
Salut,
A l'attention de cameron91: Tu me croiras ou pas, mais j'ai découvert ton code la semaine dernière. Il est...fait, a des côtés peu pratiques, des API nommées à la va-vite, est peu portable et a moins de fonctions que le mien.
Autre pb c'est qu'il n'est pas en VB6 mais en VBA. :D

mouahhaaa, non j'te crois ^^
par contre n'hésites pas à t'inspirer de ma classe pour modifier ton code, çà risque d'être bénéfique ;)

++
cameron91 Messages postés 3 Date d'inscription jeudi 27 mai 2004 Statut Membre Dernière intervention 11 juillet 2007
11 juil. 2007 à 10:45
Salut,
A l'attention de PCPT: Tu me croiras ou pas, mais je viens de découvrir ton code sur le même sujet. Il est trés bien fait et a des fonctions supplémentaires au mien.
Le seul pb c'est qu'il n'est pas en VBA mais en VB.
zavier666 Messages postés 266 Date d'inscription mardi 7 septembre 2004 Statut Membre Dernière intervention 30 avril 2009 1
9 juil. 2007 à 17:34
Mea culpa, je n'avais pas tout regardé, c'est vrai que tout n'est pas faisable

slts!
_______________________________________________________
Toujours + de VB et d'API => APi @ la Loupe
http://apialaloupe.free.fr
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
9 juil. 2007 à 13:41
Salut, suis d'accord avec PCPT, la misère à celui qui [re]travaillera sur ton dev.

Zavier666, comment faire sans API ?
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
5 juil. 2007 à 21:45
salut,
important : les API sont par chance référencées (toile), c'est préférable de les utiliser telles quelles.
le dev c'est c'est pas trop de la radinerie de saisie... ^^
cameron91 Messages postés 3 Date d'inscription jeudi 27 mai 2004 Statut Membre Dernière intervention 11 juillet 2007
5 juil. 2007 à 18:13
Merci du compliment zavier666.
Peux-tu m'indiquer ou trouver comment faire en VBA?
zavier666 Messages postés 266 Date d'inscription mardi 7 septembre 2004 Statut Membre Dernière intervention 30 avril 2009 1
5 juil. 2007 à 17:51
Même si ton code est très bien écrit et bien commenté, je te confirme qu'il est possible de
tout faire directement depuis VBA.

En revanche ces API sont très pratique pour modifier des fenêtres d'autres programmes.

slts!
___________________________________________________
Toujours + de VB et d'API => APi @ la Loupe
http://apialaloupe.free.fr
allthew3 Messages postés 551 Date d'inscription samedi 8 janvier 2005 Statut Membre Dernière intervention 12 avril 2008 2
5 juil. 2007 à 17:49
ah ouais bien : je croyais que c'était du VB6
désolé
cameron91 Messages postés 3 Date d'inscription jeudi 27 mai 2004 Statut Membre Dernière intervention 11 juillet 2007
5 juil. 2007 à 16:59
Si il existe une autre solution en VBA Word 2000, merci de me la communiquer, moi je ne l'ai pas trouvée.
allthew3 Messages postés 551 Date d'inscription samedi 8 janvier 2005 Statut Membre Dernière intervention 12 avril 2008 2
5 juil. 2007 à 15:24
et pourquoi utiliser les APIs quand on est pas obligé ?