Affichage simultané de 2 lignes de code

Robikatchou Messages postés 50 Date d'inscription mardi 7 juillet 2009 Statut Membre Dernière intervention 28 août 2009 - 28 juil. 2009 à 10:22
Robikatchou Messages postés 50 Date d'inscription mardi 7 juillet 2009 Statut Membre Dernière intervention 28 août 2009 - 29 juil. 2009 à 09:27
Bonjour,

peut-on afficher ces deux lignes de codes simultanément avec la message box au premier plan.

Données_new_réf.Show
MsgBox "Pour fermer cette boîte cliquez sur Valider." vbSystemModal + vbInformation

Merci

Roberto

11 réponses

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
28 juil. 2009 à 10:51
Salut,

je ne suis pas sur de bien comprendre la question

Veux-tu dire: executer simultanément c'est 2 lignes de codes ?

Dans ce cas la reponse est non mais je ne vois pas l'interet , puisque dans l'ordre d'execution le userform sera bien affiché avant la message box... sauf si un code est executé lors du chargement de la form et que celui-ci interdit le passage a la ligne: MsgBox "Pour fermer cette boîte cliquez sur Valider." vbSystemModal + vbInformation.

Autrement dit, explique dans quel cas et pourquoi la message doit etre affichée ce qui permettra de mieux t'aider.

A+
0
Robikatchou Messages postés 50 Date d'inscription mardi 7 juillet 2009 Statut Membre Dernière intervention 28 août 2009
28 juil. 2009 à 11:28
En fait c'est un message d'information pour l'utilisation de l'userform.

Je voudrai donc que le userform apparaisse puis qu'instantanément la message box se mettent par dessus le userform avant que l'on ne modifie le userform.
Ainsi l'utilisateur est au courant de ce qu'il doit faire sur le userform.

PS: le message de la MSGBOX n'est ici pas complet histoire de pas prendre de la place pour rien

merci


Roberto RIQUELME
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 juil. 2009 à 13:39
Données_new_réf.Show
DoEvents
MsgBox "Pour fermer cette boîte cliquez sur Valider." vbSystemModal Or vbInformation

Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
Robikatchou Messages postés 50 Date d'inscription mardi 7 juillet 2009 Statut Membre Dernière intervention 28 août 2009
28 juil. 2009 à 14:46
Heu ça marche toujours pas
alors voici le code complet

Private Sub Modifier_Click()

Dim Recherche As Range
Dim chercheRéf As String
Dim j As Integer
Dim Cancel As Integer
Dim Réponse As Integer
Dim Choix As Integer
Dim CloseMode As Integer

If recherche_réf = "" Then
MsgBox "Veuillez entrer la référence que vous souhaitez modifier ou supprimer", vbExclamation
Else

chercheRéf = recherche_réf.Value
Set Recherche = ActiveSheet.Cells.Find(what:=chercheRéf)

If Recherche Is Nothing Then
MsgBox "Pas trouvé"
Choix = MsgBox("Souhaitez vous ajouter cette référence?", vbYesNo + vbQuestion, "Ajout référence")
If Choix = 6 Then
Données_new_réf.Réf.Value = CStr(recherche_réf.Value)
Données_new_réf.Show
Unload Modif_réf
Else
Unload Modif_réf
End If

Else
Cells.Find(what:=chercheRéf).Activate
Set Recherche = Nothing
j = ActiveCell.Row

Réponse = MsgBox("Souhaitez-vous vraiment modifier cette référence?" & Chr(10) & "En cliquant sur OUI, la référence actuelle sera automatiquement remplacée" & Chr(10) & " par les modifications qui vous y apporterez.", vbYesNo + vbExclamation, "valider")
If Réponse = 6 Then




Données_new_réf.Width = 782
Données_new_réf.Indice_Véh1.Visible = True
Données_new_réf.Indice_Véh2.Visible = True
Données_new_réf.Indice_Véh3.Visible = True
Données_new_réf.Indice_Véh4.Visible = True
Données_new_réf.Indice_Véh5.Visible = True
Données_new_réf.Projet2.Visible = True
Données_new_réf.Projet3.Visible = True
Données_new_réf.Projet4.Visible = True
Données_new_réf.Projet5.Visible = True


Données_new_réf.Réf = Cells(j, 1).Value
Données_new_réf.CC = Cells(j, 2).Value
Données_new_réf.Pièce = Cells(j, 6).Value
Données_new_réf.Fournisseur = Cells(j, 7).Value
Données_new_réf.Moteur1 = Cells(j, 11).Value

If Cells(j, 12).Value = "" And Cells(j, 13).Value <> "" Then
Données_new_réf.Indice1 = Cells(j, 13).Value
Else
Données_new_réf.Véhicule1 = Cells(j, 12).Value
Données_new_réf.Indice_Véh1 = Cells(j, 13).Value
End If

Données_new_réf.Moteur2 = Cells(j, 15).Value

If Cells(j, 16).Value = "" And Cells(j, 17).Value <> "" Then
Données_new_réf.Indice2 = Cells(j, 17).Value
Else
Données_new_réf.Véhicule2 = Cells(j, 16).Value
Données_new_réf.Indice_Véh2 = Cells(j, 17).Value
End If

Données_new_réf.Moteur3 = Cells(j, 19).Value

If Cells(j, 20).Value = "" And Cells(j, 21).Value <> "" Then
Données_new_réf.Indice3 = Cells(j, 21).Value
Else
Données_new_réf.Véhicule3 = Cells(j, 20).Value
Données_new_réf.Indice_Véh3 = Cells(j, 21).Value
End If

Données_new_réf.Moteur4 = Cells(j, 23).Value

If Cells(j, 24).Value = "" And Cells(j, 25).Value <> "" Then
Données_new_réf.Indice4 = Cells(j, 25).Value
Else
Données_new_réf.Véhicule4 = Cells(j, 24).Value
Données_new_réf.Indice_Véh4 = Cells(j, 25).Value
End If

Données_new_réf.Moteur5 = Cells(j, 27).Value

If Cells(j, 28).Value = "" And Cells(j, 29).Value <> "" Then
Données_new_réf.Indice5 = Cells(j, 29).Value
Else
Données_new_réf.Véhicule5 = Cells(j, 28).Value
Données_new_réf.Indice_Véh5 = Cells(j, 29).Value
End If

Données_new_réf.Site_Fnrs = Cells(j, 31).Value
Données_new_réf.Site_Renault = Cells(j, 32).Value
Données_new_réf.Prix = Cells(j, 33).Value
Données_new_réf.Devise = Cells(j, 34).Value
Données_new_réf.Mois_DMS = Cells(j, 36).Value
Données_new_réf.Année_DMS = Cells(j, 37).Value
Données_new_réf.Prod_2009 = Cells(j, 39).Value
Données_new_réf.Prod_2010 = Cells(j, 44).Value
Données_new_réf.Prod_2011 = Cells(j, 49).Value
Données_new_réf.Prod_2012 = Cells(j, 54).Value
Cells(j, 1).EntireRow.ClearContents
Données_new_réf.Annulation.Enabled = False

MsgBox "Pour fermer cette boîte cliquez sur Valider." & Chr(10) & "Pour ne pas modifier cliquer sur Valider avant de modifier les données", vbSystemModal Or vbInformation
DoEvents
Données_new_réf.Show

Unload Modif_réf
End If
End If
End If
If Réponse = 7 Then
Unload Modif_réf
End If
End Sub

Voilà je vois pas trop ce qui cloche mais la msgbox ne s'affiche qu'à la fermeture du userform

Roberto RIQUELME
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 juil. 2009 à 14:59
t'as qu'a tout faire dans le desordre, aussi....

un MsgBox BLOQUE l'execution du programme.

il faut donc bien faire:

Form1.Show
DoEvents ' pour 'forcer' windows a finir d'afficher la form
MsgBox "..."

et non

MsgBox "..."
DoEvents ' inutile, cette ligne ne sera executée que lorsque ma Msgbox aura été fermée par l'utilisateur
Form1.show

Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
Robikatchou Messages postés 50 Date d'inscription mardi 7 juillet 2009 Statut Membre Dernière intervention 28 août 2009
28 juil. 2009 à 15:07
"t'as qu'a tout faire dans le desordre, aussi.... " j'ai trop rigolé merci

désolé j'ai collé la mauvaise version en fait j'ai essayé dans tous les sens vu que ça marchait pas dès mon premier essai.

Peut-être que je me suis mal exprimer
je veux que la msgbox s'affiche juste après l'affichage du userform et devant celui-ci c'est à dire au premier plan.(sans avoir à le fermé ce userform).

donc si tu as bien compris ça dès le début, ben ça marche pas!

merci

Roberto
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 juil. 2009 à 15:10
pourquoi ne pas mettre l'affichage du Msgbox dans le code de chargement de de la form ?

Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
Robikatchou Messages postés 50 Date d'inscription mardi 7 juillet 2009 Statut Membre Dernière intervention 28 août 2009
28 juil. 2009 à 16:24
Car ce userform est appelé plusieurs fois en fonction de la demande que l'on fait.
il y a une demande création : le userform est appelé mais la msgbox n'a aucun intérêt
et puis une demande modificatio où lors de l'affichage de la form, la msgbox prend tout son intérêt.

Si tu penses que ya pas vraiment de solutions, c'est pas grave j'afficherai le message avant l'ouverture du form.

merci qd mm

Roberto
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
28 juil. 2009 à 17:11
Comment differencis tu la creation de la modification lors de l'ouverture de la form ?
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
28 juil. 2009 à 21:55
Franchement tu te casse bien la tête pour rien du tout !

Quel est l'intérêt de mettre un msgbox pour que l'utilisateur puisse fermer une fenêtre c'est prendre les gens pour des attardés...

Sur un form, il y a les controlBox (La croix, réduire, agrandir et restaurer) et TOUT le monde connait. Ta feuille n'as pas de bordure ? Qu'a cela ne tienne, tu met un simple bouton 'Fermer cette fenêtre' avec un 'Unload Me' assez gros si ca te chante.

Pourquoi faire des truc tordus ? Au contraire l'utilisateur pourrait même se perdre avec un truc pareil, tu ne sais pas que les novice click sur les messagbox sans même les lire ?

Enfin bon...

@+ Mayzz.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Robikatchou Messages postés 50 Date d'inscription mardi 7 juillet 2009 Statut Membre Dernière intervention 28 août 2009
29 juil. 2009 à 09:27
Merci à vous

en fait le mode modif. ouvre le userform completé et l'utilisateur modifie ce qu'il souhaite sur un réf. existante
le mode création ouvre l'userform vide et l'utilisateur le complète
Mais je crois que mayzz n'a pas tort je vais pas me prendre la tête sur le sujet



Roberto
0
Rejoignez-nous