Microsoft 365 Amelioration Inputbox

sgangbadjo

XLDnaute Nouveau
Bonsoir le Forum,

J'ai cree un formulaire qui presente un inputbox des son activation. Cet inputbox permet de collecter le numero de la ligne de transaction que l'utilisateur veut modifier. Mais lorsqu'on clique sur "Cancel" comme par exemple pour abandonner, j'ai un bug.
Je sollicite votre aide pour corriger le code de sorte a ce que : lorsque l'utilisateur clique sur le bouton cancel de l'inputBox, le formulaire se ferme simplement

Merci pour votre aide

VB:
Private Sub UserForm_Activate()

Dim F1 As Worksheet, Derlign As Long

Set F1 = Sheets("TRACKING")
    Derlign = F1.Range("A" & Rows.Count).End(xlUp).Row + 1
line1:
ligne = InputBox("Quel est le numéro de la ligne de la réquisition", "Numero d'ordre de transaction ")

If Application.WorksheetFunction.CountIf(F1.Range("A1:A" & Derlign), ligne) = 0 Then
    
    If MsgBox("Veuillez saisir le numero d'ordre d'une transaction existante dans la base de données", vbRetryCancel, "Poursuite du Processus") = vbCancel Then
    Exit Sub
    Else
        GoTo line1:
    End If
Else
            Me.TextBox1.Value = F1.Cells(ligne + 1, 3).Value
            Me.TextBox2.Value = F1.Cells(ligne + 1, 25).Value
            Me.TextBox3.Value = F1.Cells(ligne + 1, 26).Value
            Me.TextBox4.Value = F1.Cells(ligne + 1, 27).Value
            Me.TextBox5.Value = F1.Cells(ligne + 1, 28).Value
            Me.ComboBox1.Value = F1.Cells(ligne + 1, 29).Value
            Me.TextBox7.Value = F1.Cells(ligne + 1, 30).Value
            Me.TextBox8.Value = F1.Cells(ligne + 1, 31).Value
            Me.TextBox9.Value = F1.Cells(ligne + 1, 32).Value
            Me.TextBox10.Value = F1.Cells(ligne + 1, 33).Value
            Me.TextBox11.Value = F1.Cells(ligne + 1, 34).Value
End If

End Sub
 

Eric C

XLDnaute Barbatruc
Bonsoir le forum
Bonsoir sgangbadjo, bonsoir fanfan38, bonsoir job75

@sgangbagjo : il semblerait que tu ais commis une petite erreur en t'appropriant la solution à ton problème. En effet, la coche "solutionné" se trouve dans ton post #4 alors qu'elle devrait se trouver au post#2, là où fanfan38 t'a apporté sa solution.

Bonne nuit
@+ Eric c
 
Dernière édition:

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Bonjour le fil, le forum

J'aurais plutôt fait :
VB:
If ligne = "" Then Unload Me: Exit Sub
Comme cela, l'userform est déchargé, on sort de son code interne et le code ayant affiché l'userform continue de s'exécuter si nécessaire, cela peut être utile pour un userform modal.

Bien cordialement, @+
 

Discussions similaires

Réponses
0
Affichages
137
Réponses
1
Affichages
160

Statistiques des forums

Discussions
312 101
Messages
2 085 297
Membres
102 856
dernier inscrit
primavera49