• Initiateur de la discussion Initiateur de la discussion Marcel
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Marcel

XLDnaute Nouveau
Bonjour à tous,

j'écris un userform pour excel 97, avec un message box qui prévient l'utilisateur qu'il n'a rien introduit dans le champ spécifié et le renvoi dans ce champ
Exemple du code:

'SI aucun numéro de série saisi pas d'encodage !!!
If TextBox3 = "" Then
MsgBox " Aucun numéro de série saisi !"
TextBox3.SetFocus
Exit Sub
End If

Ce code fonctionne, j'essaye alors de rajouter une condition que si une valeur introduite est trop importante ( hors des tolérances ) par exemple 1.8, le msg box devrait le signaler, mais rien ne se passe; j'ai essayé en mettant " >1.6" dans le code ci dessus, le code ne fonctionne pas, mais sans erreur, transfert les données dans la sheet sans le message.

Merci de votre aide

Bon Dimanche à tous

Marcel
 
Re : Message Box

Salut Marcel, le Forum

Peut-être comme cela

Code:
...
If TextBox3 = "" Then
    MsgBox " Aucun numéro de série saisi !"
    TextBox3.SetFocus
    Exit Sub
End If
If TextBox3 > 1.8 Then
    MsgBox " Numéro Hors Tolérence !"
        With TextBox3
            .Value = ""
            .SetFocus
        End With
    Exit Sub
End If
...
Bonne Journée
 
Re : Message Box

Bonjour,

désolé je me suis emballé trop vite cela ne fonctionne pas, lorsque je met la condition que tu as écrite, le message box vient à chaque fois & le transfert vers la sheet ne se fais pas.
je veux juste avertir la personne qui encode que les valeurs introduites sont hors tolérance mais le transfert doit se faire tout de même.

Merci
Je joint le fichier en pièce jointe pour vous faire vous faire idée
 

Pièces jointes

Re : Message Box

Bonjour

Ci dessous un code qui permet à l'utilisateur de modifier ou de continuer
Code:
If TextBox3 > 1.8 Then


             Select Case MsgBox("Numéro Hors Tolérence !" _
                                & vbCrLf & "" _
                                & vbCrLf & "Pour modifier cliquer sur annuler" _
                                , vbOKCancel Or vbExclamation Or vbDefaultButton1, Application.Name)
             
                Case vbOK

                Case vbCancel
                             With TextBox3
                            .Value = ""
                            .SetFocus
                            End With
                            Exit Sub
             End Select

   
End If

A tester

JP
 
Dernière édition:
Re : Message Box

Bonsoir,

là je pige plus, lorsque je met 1 comme valeur, ok celà fonctionne, dès que je mets les décimal 1.5 par exemple le msgbox apparait hors 1.5 est dans la norme, puisque la msgbox doit être visible au dessus de 1.8 ( >1.8 ). ??????
Par contre avec le code Jean-Marcel toutes les données sont transférées, c'est ok, reste le problème de la msgbox
 
Re : Message Box

Bonsoir

Ci dessous un code qui doit fonctionner.
Les données dans un Textbox sont du type String que l'on compare à une valeur numérique



Code:
If Val(TextBox3) > 1.8 Then 'ou If TextBox3 > "1.8" Then


             Select Case MsgBox("Numéro Hors Tolérence ! :" & TextBox3 _
                                & vbCrLf & "" _
                                & vbCrLf & "Pour modifier cliquer sur annuler" _
                                , vbOKCancel Or vbExclamation Or vbDefaultButton1, Application.Name)
             
                Case vbOK

                Case vbCancel
                            With TextBox3
                            .Value = ""
                            .SetFocus
                            End With
                
                            Exit Sub
             End Select

    
End If

JP
 
Dernière édition:
Re : Message Box

Bonjour à tous,

comme je l'ai dis plus haut tout marche nickel.

J'ai un userform pour l'encodage, un deuxième userform pour un fichier d'aide.
Je voudrais faire un code suplémentaire pour sauver automatiquement le fichier dès que celui-ci à été modifé.

Dans thisworbook j'ai mis le code suivant:

Private Sub Worksheet_Change(ByVal Target As Range)
Application.OnTime Now + TimeValue("00:05:00"), "EnregistrerFichier"
End Sub

et crée un module avec le code suivant

Sub EnregistrerFichier()
ActiveWorkbook.Save
End Sub



Cela ne fonctionne pas même s'il n'y a pas d'erreur vba

je joint le fichier pour vous faire une idée

Une idée serait bienvenue merci beaucoup
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
814
Retour