Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
garnote
Salut Yvan,
Comme ceci, les deux macros fonctionnent. Est-ce le résultat que tu attends ?
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox1.Value = "" Then Cancel = True TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) End If End Sub
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox1.Value = "" Then MsgBox "Veuillez saisir un N°" Cancel = True TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) End If End Sub
Serge
"Yvan" a écrit dans le message de news:
Bonjour,
Quelqu'un peut-il m'expliquer pourquoi le setfocus fonctionne dans ce cas
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Textbox1.value = "" Else Cancel = True TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) End If
End sub
et pas dans celui-ci
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Textbox1.value = "" Else Msgbox "Veuillez saisir un N°" Cancel = True TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) End If
End Sub
C'est la syntaxe du Msgbox qui semble faire obstacle !!!
-- Merci pour vos réponses.
Salut Yvan,
Comme ceci, les deux macros fonctionnent.
Est-ce le résultat que tu attends ?
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1.Value = "" Then
Cancel = True
TextBox1.SetFocus
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1)
End If
End Sub
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1.Value = "" Then
MsgBox "Veuillez saisir un N°"
Cancel = True
TextBox1.SetFocus
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1)
End If
End Sub
Serge
"Yvan" <Yvan@discussions.microsoft.com> a écrit dans le message de news: A2E747F0-FB14-4549-AF4C-EFD0C0787795@microsoft.com...
Bonjour,
Quelqu'un peut-il m'expliquer pourquoi le setfocus fonctionne dans ce cas
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Textbox1.value = ""
Else
Cancel = True
TextBox1.SetFocus
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1)
End If
End sub
et pas dans celui-ci
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Textbox1.value = ""
Else
Msgbox "Veuillez saisir un N°"
Cancel = True
TextBox1.SetFocus
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1)
End If
End Sub
C'est la syntaxe du Msgbox qui semble faire obstacle !!!
Comme ceci, les deux macros fonctionnent. Est-ce le résultat que tu attends ?
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox1.Value = "" Then Cancel = True TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) End If End Sub
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox1.Value = "" Then MsgBox "Veuillez saisir un N°" Cancel = True TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) End If End Sub
Serge
"Yvan" a écrit dans le message de news:
Bonjour,
Quelqu'un peut-il m'expliquer pourquoi le setfocus fonctionne dans ce cas
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Textbox1.value = "" Else Cancel = True TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) End If
End sub
et pas dans celui-ci
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Textbox1.value = "" Else Msgbox "Veuillez saisir un N°" Cancel = True TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) End If
End Sub
C'est la syntaxe du Msgbox qui semble faire obstacle !!!
-- Merci pour vos réponses.
Yvan
Même sous Excel 2000 ???
Pour ma part, cela fonctionne bien sous 2003, mais pas sous 2000 !!!
Y-a-t-il une astuce ??? -- Merci pour vos réponses.
Salut Yvan,
Comme ceci, les deux macros fonctionnent. Est-ce le résultat que tu attends ?
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox1.Value = "" Then Cancel = True TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) End If End Sub
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox1.Value = "" Then MsgBox "Veuillez saisir un N°" Cancel = True TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) End If End Sub
Serge
"Yvan" a écrit dans le message de news:
Bonjour,
Quelqu'un peut-il m'expliquer pourquoi le setfocus fonctionne dans ce cas
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Textbox1.value = "" Else Cancel = True TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) End If
End sub
et pas dans celui-ci
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Textbox1.value = "" Else Msgbox "Veuillez saisir un N°" Cancel = True TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) End If
End Sub
C'est la syntaxe du Msgbox qui semble faire obstacle !!!
-- Merci pour vos réponses.
Même sous Excel 2000 ???
Pour ma part, cela fonctionne bien sous 2003, mais pas sous 2000 !!!
Y-a-t-il une astuce ???
--
Merci pour vos réponses.
Salut Yvan,
Comme ceci, les deux macros fonctionnent.
Est-ce le résultat que tu attends ?
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1.Value = "" Then
Cancel = True
TextBox1.SetFocus
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1)
End If
End Sub
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1.Value = "" Then
MsgBox "Veuillez saisir un N°"
Cancel = True
TextBox1.SetFocus
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1)
End If
End Sub
Serge
"Yvan" <Yvan@discussions.microsoft.com> a écrit dans le message de news: A2E747F0-FB14-4549-AF4C-EFD0C0787795@microsoft.com...
Bonjour,
Quelqu'un peut-il m'expliquer pourquoi le setfocus fonctionne dans ce cas
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Textbox1.value = ""
Else
Cancel = True
TextBox1.SetFocus
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1)
End If
End sub
et pas dans celui-ci
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Textbox1.value = ""
Else
Msgbox "Veuillez saisir un N°"
Cancel = True
TextBox1.SetFocus
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1)
End If
End Sub
C'est la syntaxe du Msgbox qui semble faire obstacle !!!
Pour ma part, cela fonctionne bien sous 2003, mais pas sous 2000 !!!
Y-a-t-il une astuce ??? -- Merci pour vos réponses.
Salut Yvan,
Comme ceci, les deux macros fonctionnent. Est-ce le résultat que tu attends ?
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox1.Value = "" Then Cancel = True TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) End If End Sub
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox1.Value = "" Then MsgBox "Veuillez saisir un N°" Cancel = True TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) End If End Sub
Serge
"Yvan" a écrit dans le message de news:
Bonjour,
Quelqu'un peut-il m'expliquer pourquoi le setfocus fonctionne dans ce cas
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Textbox1.value = "" Else Cancel = True TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) End If
End sub
et pas dans celui-ci
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Textbox1.value = "" Else Msgbox "Veuillez saisir un N°" Cancel = True TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) End If
End Sub
C'est la syntaxe du Msgbox qui semble faire obstacle !!!
-- Merci pour vos réponses.
MichDenis
Tu mets ton message à la dernière ligne comme ceci :
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1.Value = "" Then Else
Cancel = True TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) MsgBox "Veuillez saisir un N°" End If
End Sub
Et pourquoi ça ne fonctionne pas quand le message s'affiche en premier ? Le temps que le message s'affiche a déjà fini de lire et d'exécuter les commandes de ta procédure mais tu ne vois pas le texte sélectionné car le focus est sur ta boîte de message à ce moment là. Quand tu cliques sur OK pour fermer ta boîte de message, les lignes suivantes ont déjà été exécutées
Tu as toujours l'opportunité de faire ceci en ajoutant cette ligne de code qui va obliger le processeur d'arrêter l'exécution jusqu'à la fermeture de ton message après quoi 1 seconde s'écoulera avant la sélection du texte
'----------------------------- Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1.Value = "" Then Else MsgBox "Veuillez saisir un N°" Application.Wait Now + TimeValue("0:00:01") Cancel = True TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) End If
End Sub '-----------------------------
"Yvan" a écrit dans le message de news:
Bonjour,
Quelqu'un peut-il m'expliquer pourquoi le setfocus fonctionne dans ce cas
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Textbox1.value = "" Else Cancel = True TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) End If
End sub
et pas dans celui-ci
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Textbox1.value = "" Else Msgbox "Veuillez saisir un N°" Cancel = True TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) End If
End Sub
C'est la syntaxe du Msgbox qui semble faire obstacle !!!
-- Merci pour vos réponses.
Tu mets ton message à la dernière ligne comme ceci :
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1.Value = "" Then
Else
Cancel = True
TextBox1.SetFocus
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1)
MsgBox "Veuillez saisir un N°"
End If
End Sub
Et pourquoi ça ne fonctionne pas quand le message s'affiche en premier ?
Le temps que le message s'affiche a déjà fini de lire et d'exécuter les commandes
de ta procédure mais tu ne vois pas le texte sélectionné car le focus est sur ta
boîte de message à ce moment là. Quand tu cliques sur OK pour fermer ta boîte de message,
les lignes suivantes ont déjà été exécutées
Tu as toujours l'opportunité de faire ceci en ajoutant cette ligne de code
qui va obliger le processeur d'arrêter l'exécution jusqu'à la fermeture de ton
message après quoi 1 seconde s'écoulera avant la sélection du texte
'-----------------------------
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1.Value = "" Then
Else
MsgBox "Veuillez saisir un N°"
Application.Wait Now + TimeValue("0:00:01")
Cancel = True
TextBox1.SetFocus
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1)
End If
End Sub
'-----------------------------
"Yvan" <Yvan@discussions.microsoft.com> a écrit dans le message de news:
A2E747F0-FB14-4549-AF4C-EFD0C0787795@microsoft.com...
Bonjour,
Quelqu'un peut-il m'expliquer pourquoi le setfocus fonctionne dans ce cas
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Textbox1.value = ""
Else
Cancel = True
TextBox1.SetFocus
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1)
End If
End sub
et pas dans celui-ci
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Textbox1.value = ""
Else
Msgbox "Veuillez saisir un N°"
Cancel = True
TextBox1.SetFocus
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1)
End If
End Sub
C'est la syntaxe du Msgbox qui semble faire obstacle !!!
Tu mets ton message à la dernière ligne comme ceci :
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1.Value = "" Then Else
Cancel = True TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) MsgBox "Veuillez saisir un N°" End If
End Sub
Et pourquoi ça ne fonctionne pas quand le message s'affiche en premier ? Le temps que le message s'affiche a déjà fini de lire et d'exécuter les commandes de ta procédure mais tu ne vois pas le texte sélectionné car le focus est sur ta boîte de message à ce moment là. Quand tu cliques sur OK pour fermer ta boîte de message, les lignes suivantes ont déjà été exécutées
Tu as toujours l'opportunité de faire ceci en ajoutant cette ligne de code qui va obliger le processeur d'arrêter l'exécution jusqu'à la fermeture de ton message après quoi 1 seconde s'écoulera avant la sélection du texte
'----------------------------- Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1.Value = "" Then Else MsgBox "Veuillez saisir un N°" Application.Wait Now + TimeValue("0:00:01") Cancel = True TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) End If
End Sub '-----------------------------
"Yvan" a écrit dans le message de news:
Bonjour,
Quelqu'un peut-il m'expliquer pourquoi le setfocus fonctionne dans ce cas
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Textbox1.value = "" Else Cancel = True TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) End If
End sub
et pas dans celui-ci
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Textbox1.value = "" Else Msgbox "Veuillez saisir un N°" Cancel = True TextBox1.SetFocus TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1) End If
End Sub
C'est la syntaxe du Msgbox qui semble faire obstacle !!!