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

Show de USF simultanément

  • Initiateur de la discussion Celeda
  • Date de début
C

Celeda

Guest
Bonjour,

J'ai fait deux USFs : ils se déclenchent l'un aprés l'autre, une fois fermé le premier on a le deuxième qui arrive.

Mais pour ne pas perdre le fil du premier, je me demandais :

si c'était possible :

- d'obtenir une arrivée simultanément des deux USFs

- l'un à côté de l'autre (vue d'ensemble)

-en fermant le deuxième, on peut fermer les 2 d'un seul coup.
(je souhaite laisser le temps à l'user de lire et de fermer lui-même).

Est-elle faisable cette manip, SVP ? Et si oui, pouvez-vous m'indiquer comment je dois m'y prendre. Et si non.................j'aviserai.

Merci beaucoup.

Celeda
 
R

Rv_Mikey

Guest
Bonjour Celeda,

Je viens de me pencher sur l'énigme et j'arrive a afficher de usf en meme temps.

le seul probleme qu'il me reste à trouver c'est de basculer d'une fenetre a l'autre. J'ai plus beaucoup de temps devant moi.....

Si tu veux essayer : tu affiches une premiere usf et dans le sub userform1_initialize tu mets juste load userform2 et userform2.show

j'espere pas etre trop complique mais je termine mon travaille et je suis fatigué.

pour basculer d'une à l'autre, je pense qu'il faut passer par les modal des fenetres...

voila avis aux amateurs et je crois qu'ils vont etre nombreux... c'est le meilleur forum.....

bon courage
 
@

@+Thierry

Guest
Bonjour Celeda, RV Mickey, The Forum !


Il n'y a pas de difficulté majeure à faire se que tu veux Celeda, il faut mettre les UserForms en Non-Modal (UserformX.Show 0)

Attention si c'est pour Excel 97 ça ne marche pas comme ceci, (faire une recherche dans le forum à propos d'API pour faire ceci sous Excel 97)

La difficulté est surtout de faire ouvrir les deux UserForms à une position voulue...

les exemples ci-dessous, partent du principe que tu as un "CommandButton sur ta feuille pour lancer les UserForms, ces codes sont à mettre dans le Private Module de la Feuille en question.

Exemple 1
Private Sub CommandButton1_Click()
UserForm1.Show 0
UserForm2.Show 0
End Sub

=>Resultat : Tu auras bien deux Userforms ouverts simultanément... Petit problème... Ils seront l'un sur l'autre... :-(

&&&&&&&&&&&&&&&​


Exemple 2
Private Sub CommandButton1_Click()
Load UserForm1
UserForm1.StartUpPosition = 3
UserForm1.Show 0
UserForm2.Show 0
End Sub

=>Resultat : Tu auras bien deux Userforms ouverts simultanément... Le 1er en haut à gauche... Le 2em au milieu ... re :-(


&&&&&&&&&&&&&&&​

u]Exemple 3[/u]
Private Sub CommandButton1_Click()
With UserForm1
.StartUpPosition = 0
.Left = 100
.Top = 200
End With
UserForm1.Show 0

With UserForm2
.StartUpPosition = 0
.Left = 380
.Top = 200
End With
UserForm2.Show 0
End Sub

=>Resultat : Les deux Userforms souvrent simultanément... Avec une tentative d'alignement, ici basée sur une résolution 1024 par 768... avec des Userforms de taille standard (180 x 240) réglée automatiquement à la création........ )

&&&&&&&&&&&&&&&​


Donc, Celeda, il te restera à "tatonner" avec les paramétrages "Left" et "Top" pour que tes deux UserForms se placent bien à la position escomptée.

Pour Finir, si tu dois déployer ce genre d'appli sur un réseau avec des configurations d'écran variables, alors je te suggère de revoir la démo dont j'ai fait un remix récemment Lien supprimé, là tu auras une méthode pour placer tes userforms en fonction de (pratiquement) toutes les résolutions d'écran.

Voilà Celeda, en espérant t'avoir un peu éclairée.

Bonne Journée à tous et toutes
@+Thierry
 
C

Celeda

Guest
Bonjour,

Merci RV Mickey, @+Thierry :

et bien je ne pensais pas que ces petites ''boîtes'' pouvaient avoir une ''vie'' aussi mouvementée - en haut en bas - au-dessus en-dessous - ....

En fait Thierry, je vais tester toutes les positions possibles !!! et je te remercie de me donner les combinaisons.

Mais ce qui m'inquiéte le plus c'est ce probléme de API, déjà rencontré dans le passé et que j'oublie tout le temps. Donc je vais passer quelques heures sur ta démo pour voir comment régler ce truc.

Merci les gars.

Bonne journée
Celeda

Au fait, Thierry, valable pour les Macs aussi, ta démo ? Il faut pas que je les oublie ceux-là........., aussi !!
 
@

@+Thierry

Guest
RE Bonjour Celeda, RV-MIckey, le Forum

Heuh là je suis un peu perplexe, est-ce dû au flux d'information que j'ai donné, mais j'ai un peu peur d'avoir créé un peu de confusion dans ton esprit !

API = "Application Programming Interface" c'est en fait un moyen de faire appel aux DLL de Windows... So... Hard Luck for Mac !! Et oui, désolé pour eux, mais il y a de grandes chances à ma connaissance qu'aucun code VBA utilisant des API ne puisse fonctionner sous Mac.... Et c'est même plus vicieux, car il se peut que certaines DLL soient modifiées au fur et à mesure des versions de Windows... Donc toujours un rique d'utiliser des API dans des applications que l'on veut distribuer... Lien supprimé

La Démo USF_Start_Me_Up fait appel un API pour connaitre la résolution de l'écran (User32) qui devrait marcher sous toutes les versions de Windows. Par contre le UserForm est en mode non-modal (ItsOnlyRockNRoll.Show 0)...

Voilà, donc en fait si tu veux juste faire l'affichage de deux Userforms simultanément, pas vraiment besoin d'API, sauf pour connaitre la résolution d'écran, et sauf si tu veux faire ceci sur un PC équippé d'XL 97.

Bon Aprèm
@+Thierry
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…