Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Incrémenter

9 réponses
Avatar
pb
Bonjour,

Sheets("LignesFactures").Select
[a65000].End(xlUp).Offset(1, 0).Select
ActiveCell.Offset(0, 0).Value = ActiveCell.Offset(-1, 0).Value + 1
ActiveCell.Offset(0, 1).Value = TxtCode
ActiveCell.Offset(0, 2).Value = CboProd
ActiveCell.Offset(0, 3).Value = CDbl(Qté)
ActiveCell.Offset(0, 4).Value = CDbl(TxtPrix)
ActiveCell.Offset(0, 5).Value = TxtTVA
ActiveCell.Offset(0, 6).FormulaR1C1Local = CDbl(TxtPrix * Qté * TxtTVA)
ActiveCell.Offset(0, 7).Value = CDbl(ActiveCell.Offset(0, 6).Value + TxtPrix
* Qté)
Call RAZ
AjoutProduits = MsgBox("Voulez vous ajouter un nouveau produit ?", vbOK,
"Confirmation...")
If AjoutProduits = vbOK Then
CboProd.SetFocus
TxtLigne.Value = TxtLigne.Value + 1

Else
Unload Me
Factures.Show


Je me plante sur TxtLigne.Value = TxtLigne.Value + 1
Je voudrais tant qu'on ne clic pas sur fermer et que l'on reste donc sur la
même facture, qu'on incrémente la TxtLigne de +1
(ligne de facture 1, ligne de facture 2 etc etc...)

Une idée
Merci
Pascal

9 réponses

Avatar
Daniel.C
Bonjour.
Si TxtLigne est une textbox, mets :
TxtLigne.Value = CLng(TxtLigne.Value) + 1
Cordialement.
Daniel

Bonjour,

Sheets("LignesFactures").Select
[a65000].End(xlUp).Offset(1, 0).Select
ActiveCell.Offset(0, 0).Value = ActiveCell.Offset(-1, 0).Value + 1
ActiveCell.Offset(0, 1).Value = TxtCode
ActiveCell.Offset(0, 2).Value = CboProd
ActiveCell.Offset(0, 3).Value = CDbl(Qté)
ActiveCell.Offset(0, 4).Value = CDbl(TxtPrix)
ActiveCell.Offset(0, 5).Value = TxtTVA
ActiveCell.Offset(0, 6).FormulaR1C1Local = CDbl(TxtPrix * Qté * TxtTVA)
ActiveCell.Offset(0, 7).Value = CDbl(ActiveCell.Offset(0, 6).Value + TxtPrix
* Qté)
Call RAZ
AjoutProduits = MsgBox("Voulez vous ajouter un nouveau produit ?", vbOK,
"Confirmation...")
If AjoutProduits = vbOK Then
CboProd.SetFocus
TxtLigne.Value = TxtLigne.Value + 1

Else
Unload Me
Factures.Show


Je me plante sur TxtLigne.Value = TxtLigne.Value + 1
Je voudrais tant qu'on ne clic pas sur fermer et que l'on reste donc sur la
même facture, qu'on incrémente la TxtLigne de +1
(ligne de facture 1, ligne de facture 2 etc etc...)

Une idée
Merci
Pascal


Avatar
pb
Non j'ai essayé cela mais j'ai un message d'erreur
Membre de méthode ou de données introuvables
"Daniel.C" a écrit dans le message de news:

Bonjour.
Si TxtLigne est une textbox, mets :
TxtLigne.Value = CLng(TxtLigne.Value) + 1
Cordialement.
Daniel

Bonjour,

Sheets("LignesFactures").Select
[a65000].End(xlUp).Offset(1, 0).Select
ActiveCell.Offset(0, 0).Value = ActiveCell.Offset(-1, 0).Value + 1
ActiveCell.Offset(0, 1).Value = TxtCode
ActiveCell.Offset(0, 2).Value = CboProd
ActiveCell.Offset(0, 3).Value = CDbl(Qté)
ActiveCell.Offset(0, 4).Value = CDbl(TxtPrix)
ActiveCell.Offset(0, 5).Value = TxtTVA
ActiveCell.Offset(0, 6).FormulaR1C1Local = CDbl(TxtPrix * Qté * TxtTVA)
ActiveCell.Offset(0, 7).Value = CDbl(ActiveCell.Offset(0, 6).Value +
TxtPrix * Qté)
Call RAZ
AjoutProduits = MsgBox("Voulez vous ajouter un nouveau produit ?", vbOK,
"Confirmation...")
If AjoutProduits = vbOK Then
CboProd.SetFocus
TxtLigne.Value = TxtLigne.Value + 1

Else
Unload Me
Factures.Show


Je me plante sur TxtLigne.Value = TxtLigne.Value + 1
Je voudrais tant qu'on ne clic pas sur fermer et que l'on reste donc sur
la même facture, qu'on incrémente la TxtLigne de +1
(ligne de facture 1, ligne de facture 2 etc etc...)

Une idée
Merci
Pascal






Avatar
Modeste
Bonsour® Daniel.C avec ferveur ;o))) vous nous disiez :

Si TxtLigne est une textbox, mets :
TxtLigne.Value = CLng(TxtLigne.Value) + 1



;o))) textbox comme son nom l'indique reçoit du TEXTE

TxtLigne.Value = Str(CInt(TxtLigne.Value) + 1)
ou bien
TxtLigne.Value = Format(CInt(TxtLigne.Value) + 1,"# ##0")
Avatar
pb
Non dans un cas comme dans l'autre j'ai toujours ce message d'erreur

"Modeste" a écrit dans le message de news:

Bonsour® Daniel.C avec ferveur ;o))) vous nous disiez :

Si TxtLigne est une textbox, mets :
TxtLigne.Value = CLng(TxtLigne.Value) + 1



;o))) textbox comme son nom l'indique reçoit du TEXTE

TxtLigne.Value = Str(CInt(TxtLigne.Value) + 1)
ou bien
TxtLigne.Value = Format(CInt(TxtLigne.Value) + 1,"# ##0")
Avatar
Daniel.C
Si la valeur de la textbox n'est pas numérique, c'est sans espoir.
Ajoute :
MsgBox TxtLigne.Value
avant la ligne en erreur.
Daniel

Non dans un cas comme dans l'autre j'ai toujours ce message d'erreur

"Modeste" a écrit dans le message de news:

Bonsour® Daniel.C avec ferveur ;o))) vous nous disiez :

Si TxtLigne est une textbox, mets :
TxtLigne.Value = CLng(TxtLigne.Value) + 1



;o))) textbox comme son nom l'indique reçoit du TEXTE

TxtLigne.Value = Str(CInt(TxtLigne.Value) + 1)
ou bien
TxtLigne.Value = Format(CInt(TxtLigne.Value) + 1,"# ##0")


Avatar
Daniel.C
> ;o))) textbox comme son nom l'indique reçoit du TEXTE



Bonjour Modeste.
... et des nombres :
ActiveSheet.TextBox1.Value = 1
fonctionne.
Cordialement.
Daniel
Avatar
MichDenis
Bonjour Pb,

Pour utiliser les fonctions de conversion d'Excel,
tu dois utiliser dans tes textbox le même séparateur décimale
défini dans le panneau de configuration de Windows.

Par exemple, tu pourrais utiliser quelque chose comme :

MsgBox CDbl(Application.Substitute(Me.TextBox1, ".", ",")) + 1







"pb" a écrit dans le message de groupe de discussion :
O1KN#
Bonjour,

Sheets("LignesFactures").Select
[a65000].End(xlUp).Offset(1, 0).Select
ActiveCell.Offset(0, 0).Value = ActiveCell.Offset(-1, 0).Value + 1
ActiveCell.Offset(0, 1).Value = TxtCode
ActiveCell.Offset(0, 2).Value = CboProd
ActiveCell.Offset(0, 3).Value = CDbl(Qté)
ActiveCell.Offset(0, 4).Value = CDbl(TxtPrix)
ActiveCell.Offset(0, 5).Value = TxtTVA
ActiveCell.Offset(0, 6).FormulaR1C1Local = CDbl(TxtPrix * Qté * TxtTVA)
ActiveCell.Offset(0, 7).Value = CDbl(ActiveCell.Offset(0, 6).Value + TxtPrix
* Qté)
Call RAZ
AjoutProduits = MsgBox("Voulez vous ajouter un nouveau produit ?", vbOK,
"Confirmation...")
If AjoutProduits = vbOK Then
CboProd.SetFocus
TxtLigne.Value = TxtLigne.Value + 1

Else
Unload Me
Factures.Show


Je me plante sur TxtLigne.Value = TxtLigne.Value + 1
Je voudrais tant qu'on ne clic pas sur fermer et que l'on reste donc sur la
même facture, qu'on incrémente la TxtLigne de +1
(ligne de facture 1, ligne de facture 2 etc etc...)

Une idée
Merci
Pascal
Avatar
Modeste
Bonsour® Daniel.C avec ferveur ;o))) vous nous disiez :

;o))) textbox comme son nom l'indique reçoit du TEXTE



... et des nombres :



;o)))
mais aussi des dates ....
3/06/2009
;o)))
mais ne pas oublier bien que
ActiveSheet.TextBox1.Value = ActiveSheet.TextBox1.Text
Textbox posséde les 2 propriétés Value et Text

cependant
marche pas : CDate(ActiveSheet.TextBox1.Value + 1)
marche pas : CDate(ActiveSheet.TextBox1.Text + 1)

marche : CDate(ActiveSheet.TextBox1.Value) + 1
marche : CDate(ActiveSheet.TextBox1.Text) + 1

;o)))
toujours se méfier du typage implicite des données !!!!
Avatar
Daniel.C
> cependant
marche pas : CDate(ActiveSheet.TextBox1.Value + 1)
marche pas : CDate(ActiveSheet.TextBox1.Text + 1)




Normal, puisque une textbox renvoie une valeur de type string, c'est
pourquoi il faut la convertir avant de réaliser une opération numérique
dessus.
Daniel