Comment incrémenter une txtbox via combobox via un compteur

Bonjour, je sollicite une fois de plus votre aide. Je souhaiterais pourvoir incrémenter une txtbox via la valeur se trouvant dans la combobox.

Plus précisément : dans mon userform j'ai une combobox (numéro balancelle) dans laquelle je sélectionne le numéro de balancelle. A partir de ce numéro je souhaiterais incrémenter ma txtbox (Nb passage balancelle) de +1 à chaque fois que l'opérateur clique sur le bouton ajout dans base. Sachant que le nombre de passage de la balancelle ne peut pas dépasser 23 tours, je souhaiterais que le compteur redémarre à zéro une fois les 23 tours atteints.

Merci d'avance pour votre aide.

image

Bonjour,

Un test à adapter.

Private Sub CommandButton1_Click()
If Me.ComboBox1 > 22 Or Me.TextBox1 > 22 Then
    Me.TextBox1 = 0
    Else
    Me.TextBox1 = WorksheetFunction.Max(Me.ComboBox1, Me.TextBox1) + 1
End If
End Sub

Et le fichier qui va avec.

Sinon merci de joindre un fichier représentatif en précisant plus spécifiquement le besoin et ce qui est à modifier

Cdlt,.

20classeur1.xlsm (14.45 Ko)

Bonjour, merci de votre réponse, j'ai essayé d'adapter votre code mais cela ne fonctionne pas. Pour être un peu plus précise, le numéro de la balancelle peut changer à chaque saisie. Je souhaiterais donc que le programme garde en mémoire le nombre de tour effectué pour chacune des balancelles pour que lors de la prochaine saisie exemple : numéro de la balancelle : 9 ayant déjà effectué 10 tour, le programme m'affiche 11 tours dans la txtbox(nombre passage balancelle).

Je vous joins en pièce jointe mon fichier

Merci d'avance pour votre aide

Bonjour,

Un USF ne fonctionne pas comme ça. Les variables sont réinitialisées à la fermeture de ce dernier, et encore plus du classeur. On ne peut les conserver dans le code VBA comme ça car la procédure est terminée.

Donc en passant par une colonne supplémentaire dans votre feuille correspondance afin de storer ces valeurs :

With Worksheets("correspondance")
    Set L = .Columns(14).Find(Me.cbobalancelle)
    If L.Offset(0, 1) + 1 > 22 Then L.Offset(0, 1) = 0
    L.Offset(0, 1) = L.Offset(0, 1) + 1
    Me.txtpassagebal = L.Offset(0, 1)
End With

Cf exemple joint.

Cdlt,

Re-bonjour, merci pour votre réponse ca fonctionne parfaitement. Je viens juste de m'apercevoir que le nombre de tour de balancelle varie selon la référence des pièces. J'ai donc rajouté une colonne avec mon tour de balancelle maximal autorisé et je voudrais comparer le nombre de tour de la balancelle avec le nombre maximal autorisé. Malheureusement, cela ne fonctionne pas très bien.

Je vous joins en pièce jointe mon fichier.

Bonjour,

Ci-contre le code modifié selon votre exemple :

'incrémenter la txt box selon la valeur de la combobox
With Worksheets("correspondance")
    Set L = .Columns(14).Find(Me.cbobalancelle)
    If L.Offset(0, 1) + 1 > L.Offset(0, 2) Then L.Offset(0, 1) = 0
    L.Offset(0, 1) = L.Offset(0, 1) + 1
    Me.txtpassagebal = L.Offset(0, 1)
End With

Cdlt,

Je vous remercie, ca fonctionne parfaitement !!!!!

Rechercher des sujets similaires à "comment incrementer txtbox via combobox compteur"