Affichage simultané de 2 lignes de code

Signaler
Messages postés
50
Date d'inscription
mardi 7 juillet 2009
Statut
Membre
Dernière intervention
28 août 2009
-
Messages postés
50
Date d'inscription
mardi 7 juillet 2009
Statut
Membre
Dernière intervention
28 août 2009
-
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

Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
11
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+
Messages postés
50
Date d'inscription
mardi 7 juillet 2009
Statut
Membre
Dernière intervention
28 août 2009

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
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
74
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
Messages postés
50
Date d'inscription
mardi 7 juillet 2009
Statut
Membre
Dernière intervention
28 août 2009

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
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
74
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
Messages postés
50
Date d'inscription
mardi 7 juillet 2009
Statut
Membre
Dernière intervention
28 août 2009

"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
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
74
pourquoi ne pas mettre l'affichage du Msgbox dans le code de chargement de de la form ?

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
50
Date d'inscription
mardi 7 juillet 2009
Statut
Membre
Dernière intervention
28 août 2009

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
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
11
Comment differencis tu la creation de la modification lors de l'ouverture de la form ?
Messages postés
2813
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
38
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.
Messages postés
50
Date d'inscription
mardi 7 juillet 2009
Statut
Membre
Dernière intervention
28 août 2009

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