Please, SOS pour l'amelioration du Code ci-dessous. Apres le Deuxième Msgbox, j'ai inseré GoTo pour retouner au debut du Userform. Mais malheureusement, cette syntaxe aboutie a une boucle interminable qui ne donne pas la possibilité à l'utilisateur d'abandonner et de quitter le Userform:
Please help, je suis a mes débuts
Code:
Private Sub UserForm_Activate()
Dim F1 As Worksheet
Set F1 = Sheets("TRACKING")
line1:
ligne = InputBox("Quel est le numéro de la ligne de la réquisition")
If IsNumeric(ligne) = False Then
MsgBox ("Veuillez saisir une valeur en format numerique")
GoTo line1:
End If
With F1
If ligne > (F1.Range("A" & .Rows.Count).End(xlUp).Row) Then
MsgBox "Vous devez saisir le numéro d'ordre d'une transaction existante dans la base de données"
GoTo line1:
Else
Me.TextBox1.Value = F1.Cells(ligne + 1, 3).Value
Me.TextBox2.Value = F1.Cells(ligne + 1, 4).Value
End If
End With
End Sub
Bonjour,
Essayez :
Private Sub UserForm_Activate()
Dim F1 As Worksheet
Set F1 = Sheets("TRACKING")
line1:
ligne = InputBox("Quel est le numéro de la ligne de la réquisition")
If IsNumeric(ligne) = False Then
Réponse = MsgBox("Veuillez saisir une valeur en format numerique", vbRetryCancel)
If Réponse = 4 then
GoTo line1
Else
Exit sub
End if
End If
With F1
If ligne > (F1.Range("A" & .Rows.Count).End(xlUp).Row) Then
MsgBox "Vous devez saisir le numéro d'ordre d'une transaction existante dans la base de données"
GoTo line1:
Bonjour,
Essayez :
Private Sub UserForm_Activate()
Dim F1 As Worksheet
Set F1 = Sheets("TRACKING")
line1:
ligne = InputBox("Quel est le numéro de la ligne de la réquisition")
If IsNumeric(ligne) = False Then
Réponse = MsgBox("Veuillez saisir une valeur en format numerique", vbRetryCancel)
If Réponse = 4 then
GoTo line1
Else
Exit sub
End if
End If
With F1
If ligne > (F1.Range("A" & .Rows.Count).End(xlUp).Row) Then
MsgBox "Vous devez saisir le numéro d'ordre d'une transaction existante dans la base de données"
GoTo line1:
Merci @Wayki pour ta proposition. Malheureusement, elle n'a pas marché. Apparemment, on ne peut ajouter vbRetryCancel au Msgbox, sans que cela soit une déclaration comme dans le cas d'un IF.
Please, SOS pour l'amelioration du Code ci-dessous. Apres le Deuxième Msgbox, j'ai inseré GoTo pour retouner au debut du Userform. Mais malheureusement, cette syntaxe aboutie a une boucle interminable qui ne donne pas la possibilité à l'utilisateur d'abandonner et de quitter le Userform:
Please help, je suis a mes débuts
Code:
Private Sub UserForm_Activate()
Dim F1 As Worksheet
Set F1 = Sheets("TRACKING")
line1:
ligne = InputBox("Quel est le numéro de la ligne de la réquisition")
If IsNumeric(ligne) = False Then
MsgBox ("Veuillez saisir une valeur en format numerique")
GoTo line1:
End If
With F1
If ligne > (F1.Range("A" & .Rows.Count).End(xlUp).Row) Then
MsgBox "Vous devez saisir le numéro d'ordre d'une transaction existante dans la base de données"
GoTo line1:
Else
Me.TextBox1.Value = F1.Cells(ligne + 1, 3).Value
Me.TextBox2.Value = F1.Cells(ligne + 1, 4).Value
End If
End With
End Sub
Please, SOS pour l'amelioration du Code ci-dessous. Apres le Deuxième Msgbox, j'ai inseré GoTo pour retouner au debut du Userform. Mais malheureusement, cette syntaxe aboutie a une boucle interminable qui ne donne pas la possibilité à l'utilisateur d'abandonner et de quitter le Userform:
Please help, je suis a mes débuts
Code:
Private Sub UserForm_Activate()
Dim F1 As Worksheet
Set F1 = Sheets("TRACKING")
line1:
ligne = InputBox("Quel est le numéro de la ligne de la réquisition")
If IsNumeric(ligne) = False Then
MsgBox ("Veuillez saisir une valeur en format numerique")
GoTo line1:
End If
With F1
If ligne > (F1.Range("A" & .Rows.Count).End(xlUp).Row) Then
MsgBox "Vous devez saisir le numéro d'ordre d'une transaction existante dans la base de données"
GoTo line1:
Else
Me.TextBox1.Value = F1.Cells(ligne + 1, 3).Value
Me.TextBox2.Value = F1.Cells(ligne + 1, 4).Value
End If
End With
End Sub
Merci @Wayki pour ta proposition. Malheureusement, elle n'a pas marché. Apparemment, on ne peut ajouter vbRetryCancel au Msgbox, sans que cela soit une déclaration comme dans le cas d'un IF.
Il existe un type Enum pour ça, préférable à mon avis: déclarer réponse As VbMsgBoxResult
Accessoirement dans un test de cette variable réponse, derrière un '=' les valeurs possibles seront proposées dans une liste.
Bonsoir.
Il existe un type Enum pour ça, préférable à mon avis: déclarer réponse As VbMsgBoxResult
Accessoirement dans un test de cette variable réponse, derrière un '=' les valeurs possibles seront proposées dans une liste.