code pour fermer une msgbox

A

amel

Guest
bonjour le forum!
j'aimerais fermer une msgbox soit en cliquant sur le bouton 'annuler' soit en cliquant 'sur la petite croix :eek: je ne sais pas trop comment ça se code.. Merci de votre aide

Dim Reponse As String


Reponse = InputBox('Entrez le numero du rapport:') 'affichage de la boite de dialogue

Set maselection = Application.Worksheets('feuil1').cells(3, 2)
maselection.Value = Reponse

If Reponse = Empty Then ' test pour forcer la saisie par l'utilisateur
Reponse = InputBox(' Vous n'avez pas entré de numero! Entrez le numero du rapport:')

Set maselection = Application.Worksheets('feuil1').cells(3, 2)
maselection.Value = Reponse
End If
 

dg62

XLDnaute Barbatruc
Bonjour Amel

tu parles de quoi exactement inputbox ou msgbox ?
car dans ton exemple il n'y a que des inputbox.

d'apres l'aide vba :

Affiche un message dans une boîte de dialogue, attend que l'utilisateur clique sur un bouton, puis renvoie une valeur de type Integer qui indique le bouton choisi par l'utilisateur.

Syntaxe

MsgBox(prompt[, buttons] [, title] [, helpfile, context])


expression.InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextId, Type)
 
A

amel

Guest
Je me suis mal exprimée... En fait j'ai une succession d'affichage d'inputbox, qui demande à l'utilisateur de saisir des données, je souhaite qu'en cliquant sur 'la ptite croix' le programme s'arrete, en effectuant ce que tu m'a dis Didier, l'inputbox se ferme bien mais la suivante s'affiche..je voudrais pouvoir les stopper toute à n'importe quel moment..
 

dg62

XLDnaute Barbatruc
re


Code:
Sub essai()
Dim Reponse As String
Reponse = InputBox('Entrez le numero du rapport:') 'affichage de la boite de dialogue
If Reponse = '' Then
    rep = MsgBox('Vous n'avez pas saisi de données ! Voulez-vous continuer ?', vbYesNo, 'Erreur de saisie')
        If rep = vbYes Then
            Exit Sub
        Else
            Reponse = InputBox(' Vous n'avez pas entré de numero! Entrez le numero du rapport:')
        End If

Else
Set maselection = Application.Worksheets('feuil1').Cells(3, 2)
maselection.Value = Reponse
End If
Debug.Print Reponse
End Sub
 
A

amel

Guest
Voici un pti bout du code, j'en ai encore des lignes et des lignes du meme genre... lorsque je le lance, tout les inputbox s'enchainent les unes apres les autres, si par exemple je veux stopper la saisie dès la 2eme inputbox, ce n'est pas possible.. je suis obligée de faire 'ok' sur chaque boite et les passer toutes...


c'est pourquoi je voudrais stopper la saisie à tout moment...


Sub saisie()
'deprotege la feuille
Sheets('events').Unprotect

Sheets('temoin').Visible = False ' cache la feuille temoin
Sheets('formulaire').Visible = False


msg = 'Bonjour, vous allez proceder à la saisie d'un evenement!'
Style = vbInformation
Title = 'Saisie de l'evenement'
Réponse = MsgBox(msg, Style, Title)



'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

report_num:
Dim Reponse As String


Reponse = InputBox('Entrez le numero du rapport:') 'affichage de la boite de dialogue

Set maselection = Application.Worksheets('events').cells(3, 2)
maselection.Value = Reponse

If Reponse = Empty Then ' test pour forcer la saisie par l'utilisateur
Reponse = InputBox(' Vous n'avez pas entré de numero! Entrez le numero du rapport')

Set maselection = Application.Worksheets('events').cells(3, 2)
maselection.Value = Reponse
End If


Debug.Print Reponse



'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


reported_title:


Reponse = InputBox('Entrez le titre du rapport:')

Set maselection = Application.Worksheets('events').cells(3, 3)
maselection.Value = Reponse
If Reponse = Empty Then ' test pour forcer la saisie par l'utilisateur

Reponse = InputBox(' Vous n'avez pas entré de titre! Entrez le titre du rapport') 'affichage de la boite de dialogue

Set maselection = Application.Worksheets('events').cells(3, 3)
maselection.Value = Reponse
End If

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


author_name:
Reponse = InputBox('Entrez votre nom et prenom:') 'affichage de la boite de dialogue

Set maselection = Application.Worksheets('events').cells(3, 4)
maselection.Value = Reponse
If Reponse = Empty Then

Do Until Reponse <> Empty
Reponse = InputBox(' Vous n'avez rien saisi! Veuillez entrer l'information demandée')
Set maselection = Application.Worksheets('events').cells(3, 4)
maselection.Value = Reponse
Loop

End If

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


author_number:

Reponse = InputBox('Entrez votre numero de téléphone:') 'affichage de la boite de dialogue

Set maselection = Application.Worksheets('events').cells(3, 5)
maselection.Value = Reponse
If Reponse = Empty Then ' test pour forcer la saisie par l'utilisateur

Reponse = InputBox(' Vous n'avez pas entré de numero! Entrez votre numero de téléphone') 'affichage de la boite de dialogue

Set maselection = Application.Worksheets('events').cells(3, 5)
maselection.Value = Reponse
End If



'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


author_mail:



Reponse = InputBox('Entrez votre adresse e-mail') 'affichage de la boite de dialogue

Set maselection = Application.Worksheets('events').cells(3, 6)
maselection.Value = Reponse
If Reponse = Empty Then ' test pour forcer la saisie par l'utilisateur

Reponse = InputBox(' Vous n'avez rien saisi! Entrez votre adresse e-mail:') 'affichage de la boite de dialogue

Set maselection = Application.Worksheets('events').cells(3, 6)
maselection.Value = Reponse
End If
:eek: :eek: :woohoo:
 
A

amel

Guest
:eek: :eek: re
tu pourrais etre un peu plus explicite stp, je n'ai jamais programmé en VBA et je suis en stage la dessus... :woohoo: comment on procède? je crée un userform, ensuite j'insère un commande button, je double clique dessus et j'insère mon code la... c'est ça??
 

dg62

XLDnaute Barbatruc
re


alt f11 pour entrer dans vbe

là, tu inseres un USERFORM


Sur le userform tu places des zones de texte (textbox) ça correspond à tes inputbox.

sur chaque textbox tu peux coller un code pour verifier la saisie.

sur ton userform tu places egalement un bouton OK qui ne validera tes données que si tous les textbox sont bien remplis.
 

dg62

XLDnaute Barbatruc
re

un userform peut occuper la surface de ton écran, il suffit de bien organiser tes données.





une autre solution : saisir dans une feuille excel tes données avec des mfc et validation par un bouton après avoir testé les réponses

Message édité par: dg62, à: 11/07/2005 13:50
 

Discussions similaires

Réponses
10
Affichages
683

Statistiques des forums

Discussions
312 520
Messages
2 089 297
Membres
104 092
dernier inscrit
karbone57