Incrementation via bouton de commande

tyruso

XLDnaute Junior
Bonjour a tous,

J'ai un tableau excel avec des groupes de produit en colonne C. J'ai crée un userform qui fait apparaitre une zone de champ texte, une zone de texte modifiable + 2 boutons de commandes.

Lorsque je lance mon userform, je selectionne le nom d'une colonne dans la zone de texte modifiable (TRI N°1, TRI N°2 etc...).
Ensuite je note dans le champs texte le nom de mon groupe ( ex: 001 QS/RX/DC ).

Je souhaiterais au moyens des boutons de commandes + et - que cela incremente ou décremente la cellule correspondante. ( ligne -> champ texte et colonne -> zone de texte modifiable).

Merci d'avance.
 

Pièces jointes

  • TEST.xlsm
    124 KB · Affichages: 75
  • TEST.xlsm
    124 KB · Affichages: 74
  • TEST.xlsm
    124 KB · Affichages: 72

tyruso

XLDnaute Junior
Re : Incrementation via bouton de commande

Merci pour ton aide.

Mais les bontons + et - n'incremente uniquement la zone de texte modifiable.

Ex de ce que je voudrais avoir:

dans le userform, il y a le TRI N°1 en haut. Puis 001 QS/RX/DC dans la zone de texte.

En cliquant sur le +, il faudrait que la cellule D6 passe à 1 et si on reclique sur le +, D6 passe à 2 etc...

Merci
 

tyruso

XLDnaute Junior
Re : Incrementation via bouton de commande

Merci beaucoup, c'est exactement ce que je voulais.

Comment faire pour:

- Quand on clique sur le +, que la TextBox se mette à 0 et que le curseur soit dedans
- Que la valeur de la textbox passe à 0 ( pour l'instant, quand on a une valeur dans la textbox et qu'on clique sur +, alors cela incremente bien le tableau ou il faut, par contre quand on efface la textox apres et qu'on reclique sur +, cela incremente la cellule d'avant.

Merci
 

Papou-net

XLDnaute Barbatruc
Re : Incrementation via bouton de commande

RE :

Pour répondre au premier point, modifie le code du bouton + comme ceci :

Code:
Private Sub CommandButton2_Click()
Cells(Lg, Col) = Cells(Lg, Col) + 1
TextBox1 = ""
TextBox1.SetFocus
End Sub
Quant au deuxième point, je n'en ai pas saisi la subtilité. Peux-tu détailler davantage, stp ?

A +

Cordialement.
 

tyruso

XLDnaute Junior
Re : Incrementation via bouton de commande

Merci pour le code.

Pour le point deux, on dirait que la valeur de la textbox reste en memoire apres avoir cliqué sur +.

Voila ce que je fais:

je met une valeur dans la textbox. Je clique sur +. La textbox se vide ( grace au nouveau code ).
Si je ne met pas de valeur dedans et que je clique sur +, cela incremente la valeur d'avant.

Je sais pas si j'ai été assez clair...
 

tyruso

XLDnaute Junior
Re : Incrementation via bouton de commande

Merci encore, cela fonctionne.

Maintenant j'essaye differente amelioration mais j'aurais besoin de ton aide.

Lorsque je clique sur + et que la textBox est vide, j'ai une erreur. Je souhaiterais afficher un message.
J'ai ecrit ceci:

Private Sub CommandButton2_Click()
If TextBox1 = "" Then MsgBox "LA VALEUR DU GROUPE EST VIDE"
Else
Cells(Lg, Col) = Cells(Lg, Col) + 1
TextBox1 = ""
TextBox1.SetFocus
End Sub

J'ai bien le message qui s'affiche mais lorsque je clique sur OK cela me refait l'erreur.

2eme amélioration que j'essaye. En fait la textbox se rempli via un scan de code barre. J'essaye de voir comment faire pour qu'au lieu d'appuyer sur +, il y a une incrémention automatique. Un peu comme si j'allais scanner en chaine des codes barres et que je n'ai pas à cliquer à chaque fois sur +.

Merci pour ton aide
 

Papou-net

XLDnaute Barbatruc
Re : Incrementation via bouton de commande

RE : tyruso,

Essaie en modifiant le code du bouton + comme ceci :

Code:
Private Sub CommandButton2_Click()
If TextBox1 = "" Then
  MsgBox "LA VALEUR DU GROUPE EST VIDE"
  Else
  Cells(Lg, Col) = Cells(Lg, Col) + 1
End If
TextBox1 = ""
TextBox1.SetFocus
End Sub

Quant à ta deuxième question, c'est un peu plus complexe : laisse-moi le temps d'y regarder. Je vois la solution d'utiliser l'événement Change de TextBox1, mais il faut revoir le code intégralement.

En attendant, bonne soirée.

Cordialement.
 

tyruso

XLDnaute Junior
Re : Incrementation via bouton de commande

Merci encore pour ton aide.

Pour la validation j'ai fait comme ceci:

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If TextBox1 = "" Then Lg = 0
Set cel = Sheets("TRI").Range("C:C").SpecialCells(xlCellTypeConstants).Find _
(TextBox1, LookIn:=xlValues, lookat:=xlWhole)
If cel Is Nothing Then Exit Sub
Lg = cel.Row
If KeyCode = 13 Then CommandButton4_Click
End Sub

Et en plus j'ai passé l'option Défaut en true dans le bouton.
Cela à l'air de fonctionner.
Qu'en penses tu?

Autre problème: afin de ne pas faire de bétise, je verouille chaque colonne "TRI" qui est fini mais après je ne peux plus utiliser le userform, j'ai une erreur. Sais tu comment faire?

Merci beaucoup
 

Papou-net

XLDnaute Barbatruc
Re : Incrementation via bouton de commande

Merci encore pour ton aide.

Pour la validation j'ai fait comme ceci:

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If TextBox1 = "" Then Lg = 0
Set cel = Sheets("TRI").Range("C:C").SpecialCells(xlCellTypeConstants).Find _
(TextBox1, LookIn:=xlValues, lookat:=xlWhole)
If cel Is Nothing Then Exit Sub
Lg = cel.Row
If KeyCode = 13 Then CommandButton4_Click
End Sub

Et en plus j'ai passé l'option Défaut en true dans le bouton.
Cela à l'air de fonctionner.
Qu'en penses tu?

Autre problème: afin de ne pas faire de bétise, je verouille chaque colonne "TRI" qui est fini mais après je ne peux plus utiliser le userform, j'ai une erreur. Sais tu comment faire?

Bonjour tyruso,

Pour le premier point, tu peux simplifier. En effet, le test et la recherche de la ligne se font déjà dans la procédure Private Sub TextBox1_Change(). Tu peux donc te contenter d'écrire :

Code:
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then CommandButton2_Click
End Sub
Ton idée est astucieuse cependant, attention au risque d'incrémenter la cellule par inadvertance car rien ne signale qu'un appui sur la touche Entrée ajoute 1, contrairement à l'appui sur la touche +.

Quant au deuxième, je ne vois pas bien : que veux-tu dire par colonne TRI finie ? Comment procèdes-tu au verrouillage ? Bref, un aperçu de ton fichier modifié m'aiderait à analyser le problème.

A +

Cordialement.
 

Discussions similaires

Statistiques des forums

Discussions
312 584
Messages
2 089 982
Membres
104 325
dernier inscrit
Jujuleader