Positionner Message Box

Résolu/Fermé
Philou73CH - Modifié par pijaku le 27/12/2013 à 10:02
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 - 28 déc. 2013 à 13:30
Bonjour,

Dans un fichier Excel 2010, j'utilise une macro pour une boîte de dialogue de la manière suivante :
'Message box
   retval = [/contents/1176-vbscript-les-boites-de-dialogue MsgBox]("Voulez-vous confirmer l'enregistrement des données ?", vbYesNo, "SUITE A DONNER")
    If retval = vbYes Then

.......
Cela fonctionne à merveille mais le HIC ( sans champagne c'est pas encore l'heure...), c'est que cette boîte à dialogue apparaît au milieu de l'écran que l'utilisateur est censé lire pour être sûr des informations qu'il a introduit.

Ma question est donc :
Est-il possible de placer cet MsgBox à un endroit autre et si oui pouvez-vous à nouveau être mes sauveurs en me donnant l'exemple d'un code.

D'avance je vous remercie et vous souhaites, même si vous n'êtes que lecteur de ce message, de joyeuses fêtes de noël.

3 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
24 déc. 2013 à 11:24
Bonjour,

Le plus simple est de creer une form a l'aspect d'une messagebox pour la positionner comme vous voulez.
0
Bonjour,

OUPS là je suis perdu.
Créer une forme m'est inconnu. Car la créer avec quoi et comment est déjà mon premier soucis. Alors une fois cette forme créée je sais même pas comment faire pour calquer la messagebox dessus.... ( Affecter une macro ???)
Désolé, mon incompétence crasse fait que ce que vous me proposez si aimablement me semble difficile. Ou peut-être incompréhensible.

Je vous remercie de votre aide, et j'espère que vous pourrez m'aider dans le cheminement de ce problème.
D'avance je vous remercie.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
25 déc. 2013 à 10:14
Bonour et bon Noel,

Qu'est ce qui fait apparaitre cette msgbox ????
0
Bonsoir à vous,

Si mes connaissances sont exact, c'est ce qui est ci dessous qui fait apparraître cette Msgbox.

'Message box
   retval = [/contents/1176-vbscript-les-boites-de-dialogue MsgBox]("Voulez-vous confirmer l'enregistrement des données ?", vbYesNo, "SUITE A DONNER")
    If retval = vbYes Then 


Par contre, si vous voulez savoir ce qui amène à ce qu'elle apparaisse, là il n'y a rien de particulier. Des données ont été transférées, présenté à l'utilisateur qui à doit pouvoir les relires. Et c'est là qu'intervient la MsgBox.

J'espère avoir éclairé votre demande. Si ce n'est pas le cas, je regarde pour être plus clair.

D'avance merci à vous
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
26 déc. 2013 à 10:04
Bonjour,

Qui a ecrit le code, parce que j'ai des solutions, mais si vous ne connaissez pas trop le VBA (toutes solutions) et les API windows( pour certaines solutions): ca va etre plutot moyen

en attendent, la fenetre msgbox est deplacable avec la souris
0
Bonjour f894009,
je vous remercie tout d'abord d'avoir pris du temps pour écrire ces 2 messages et aussi du temps pour lire mes appels à l'aide.
Si votre 2ème solution de déplacer la souris est très certainement la plus accessible à mes minuscules connaissances, elle ne me convient pas du tout. En effet, cela oblige l'utilisateur de le faire et je trouve que cela n'amène guère de sérieux à ce programme.

Je suis l'auteur de cette macro.
Sachez qu'au mois de mars 2013, je ne savais même pas ce qu'était une macro.... Je n'ai pas fais de cours pour développer quoi que ce soit. J'ai juste essayé de simplifier des documents que l'on utilise au sein de mon job. Et pour ce faire, j'ai lu ce qui était proposé sur ce site. Mais également posé des questions auquelles j'ai pu constaté la générosité du partage du savoir des gens de ce forum. Je n'ai aucune prétention de savoir.
Je vous précise également que je ne cherche pas forcément la solution fini clé en main, une proposition de lecture ou des références pour guider ma route vers une solution me va également.

Pour vous donner une idée du programme, vous trouverez ci dessous un lien avec un programme identique, mais simplifier et ciblé sur ma question, que celui que je suis en train de développer. J'espère que vous serez indulgent et que vous ne fuierez pas devant la programmation. C'est de l'amateurisme pûre, j'en suis conscient et d'avance je m'en excuse.


http://cjoint.com/?0LAvB2v9Btm

D'avance je vous remercie, pour votre éventuelle réponse et vous adresse, mes meilleures salutations.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
27 déc. 2013 à 08:34
Bonjour,

Je recupere votre fichier et vous tiens au courant.


A+
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
27 déc. 2013 à 10:00
Re,

Au plus simple, avec quelques modifications sur votre programme:

https://www.cjoint.com/c/CLBj4hBXBI2

la position de la boite MsgBox se fait par les proprites Left et Top de l'Userform MsgBox. Actuellement c'est 10 et 10, ce qui positionne en haut a gauche de l'ecran

A+
0
f849009,
Bonjour et merci.
Ce que vous avez fait là est de grande classe !
Je vous remercie de m'avoir fait profiter de votre savoir en consacrant de votre temps et de votre énergie pour m'apprendre qu'il était facile de copier des cellules. Par contre pouvez m'expliquer la différence entre Sheets("Entrées").Select et Worksheets("Entrées").Activate ? Je comprends aisément les autres simplifications par contre là mon ignorance est flagrande.
Ce que vous avez fait pour la Msgbox est génial. Je suis triste de ne pas comprendre le fonctionnement. Car ce qui m'ennuie, c'est que vous avez pris de votre temps pour me faire profiter de quelque chose et que moi je ne suis pas capable de comprendre le fonctionnement. Du coup, je ne sais pas ce que je dois prendre, pour pouvoir reproduire ce shéma. :-((((
Voilà, ma grande déception ! Pouvez vous m'éclairé, ceci peu être les thermes qui me permettrons de lire sur le sujet.
Sachez que j'ai réussi à inclure ce que vous avez fait dans le programme sur lequel je travail.
Celà fonctionne à merveille. En suivant, étape par étape je commence à suivre le fil des évémenents, mais en les subissants et non en les comprenants ou pouvant les anticipers.
Grand Merci à vous.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
28 déc. 2013 à 11:21
Bonjour,

Sheets("Entrées").Select selectionne la feuille
Worksheets("Entrées").Activate active la feuille qui passe au premier plan

la difference est au niveau temps d'execution et occupation memoire

votre fichier avec plus de commentaires

https://www.cjoint.com/c/CLCluKww8M4
0
Bonjour,

f894009, vous êtes admirable.
Je viens de prendre connaissance du travail que vous avez fait.
Vous expliquez suffisamment bien pour que je puisse suivre les choses, les compendre et les répéter.
Merci à vous pour le temps que vous m'avez consacré.
Je vous souhaite une bonnée année 2014 et veuillez recevoir mes meilleures voeux de santé, bonheurs.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
28 déc. 2013 à 13:30
Re,

Merci et bonne Annee
0