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

Simplifier code pour valider des textbox

5 réponses
Avatar
magic-dd
bonsoir

voici le code que je viens de creer pour 4 lignes de 4 textbox
possible

je trouve que pour faire les 12 lignes ca va faire long

est il possible de reduire cela

ActiveCell.Offset(0, 1).Value = RELEVE.BB1
ActiveCell.Offset(0, 2).Value = RELEVE.B1
ActiveCell.Offset(0, 3).Value = RELEVE.P1
ActiveCell.Offset(0, 4).Value = RELEVE.S1

ActiveCell.Offset(0, 5).Value = RELEVE.BB2
ActiveCell.Offset(0, 6).Value = RELEVE.B2
ActiveCell.Offset(0, 7).Value = RELEVE.P2
ActiveCell.Offset(0, 8).Value = RELEVE.S2

ActiveCell.Offset(0, 9).Value = RELEVE.BB3
ActiveCell.Offset(0, 10).Value = RELEVE.B3
ActiveCell.Offset(0, 11).Value = RELEVE.P3
ActiveCell.Offset(0, 12).Value = RELEVE.S3

ActiveCell.Offset(0, 13).Value = RELEVE.BB4
ActiveCell.Offset(0, 14).Value = RELEVE.B4
ActiveCell.Offset(0, 15).Value = RELEVE.P4
ActiveCell.Offset(0, 16).Value = RELEVE.S4

merci de votre aide

5 réponses

Avatar
LSteph
Bonsoir,

Un truc du genre..à tester ou adapter à ton userform

Dim i as long , j as long, montab()
montab = Array(".BB", ".B", ".P", ".S")
With ActiveCell
For j = 1 To 13 Step 4
For i = 0 To 3
.Offset(0, j + i) = me.controls("RELEVE" & montab(i) & Int((j + 3.9) / 4))
Next i
Next j
End With

'LSteph

"magic-dd" a écrit dans le message de
news:
bonsoir

voici le code que je viens de creer pour 4 lignes de 4 textbox
possible

je trouve que pour faire les 12 lignes ca va faire long

est il possible de reduire cela

ActiveCell.Offset(0, 1).Value = RELEVE.BB1
ActiveCell.Offset(0, 2).Value = RELEVE.B1
ActiveCell.Offset(0, 3).Value = RELEVE.P1
ActiveCell.Offset(0, 4).Value = RELEVE.S1

ActiveCell.Offset(0, 5).Value = RELEVE.BB2
ActiveCell.Offset(0, 6).Value = RELEVE.B2
ActiveCell.Offset(0, 7).Value = RELEVE.P2
ActiveCell.Offset(0, 8).Value = RELEVE.S2

ActiveCell.Offset(0, 9).Value = RELEVE.BB3
ActiveCell.Offset(0, 10).Value = RELEVE.B3
ActiveCell.Offset(0, 11).Value = RELEVE.P3
ActiveCell.Offset(0, 12).Value = RELEVE.S3

ActiveCell.Offset(0, 13).Value = RELEVE.BB4
ActiveCell.Offset(0, 14).Value = RELEVE.B4
ActiveCell.Offset(0, 15).Value = RELEVE.P4
ActiveCell.Offset(0, 16).Value = RELEVE.S4

merci de votre aide
Avatar
magic-dd
merci LSteph

il y a un souci

quand je valide, j'obtiens cela dans mes cellules offsetées
RELEVE.BB1, RELEVE.B1 etc

au lieu de trouver les nombres qui sont dans mes texbox

voici ce que j'ai corrigé

.Offset(0, j + i).Value = Me.Controls(("RELEVE" & (montab(i) & Int((j
+ 3.9) / 4))))

mais meme avec ça ca plante

de plus pourquoi dans mon ancienne methode avec toutes mes lignes, mes
chiffres étaient mis au format texte et non numerique?

merci



On 14 nov, 20:57, "LSteph" wrote:
Bonsoir,

Un truc du genre.. tester ou adapter ton userform

Dim i as long , j as long, montab()
montab = Array(".BB", ".B", ".P", ".S")
With ActiveCell
For j = 1 To 13 Step 4
For i = 0 To 3
.Offset(0, j + i) = me.controls("RELEVE" & montab(i) & Int((j + 3.9) / 4))
Next i
Next j
End With

'LSteph

"magic-dd" a crit dans le message denews:79717771-7

> bonsoir

> voici le code que je viens de creer pour 4 lignes de 4 textbox
> possible

> je trouve que pour faire les 12 lignes ca va faire long

> est il possible de reduire cela

> ActiveCell.Offset(0, 1).Value = RELEVE.BB1
> ActiveCell.Offset(0, 2).Value = RELEVE.B1
> ActiveCell.Offset(0, 3).Value = RELEVE.P1
> ActiveCell.Offset(0, 4).Value = RELEVE.S1

> ActiveCell.Offset(0, 5).Value = RELEVE.BB2
> ActiveCell.Offset(0, 6).Value = RELEVE.B2
> ActiveCell.Offset(0, 7).Value = RELEVE.P2
> ActiveCell.Offset(0, 8).Value = RELEVE.S2

> ActiveCell.Offset(0, 9).Value = RELEVE.BB3
> ActiveCell.Offset(0, 10).Value = RELEVE.B3
> ActiveCell.Offset(0, 11).Value = RELEVE.P3
> ActiveCell.Offset(0, 12).Value = RELEVE.S3

> ActiveCell.Offset(0, 13).Value = RELEVE.BB4
> ActiveCell.Offset(0, 14).Value = RELEVE.B4
> ActiveCell.Offset(0, 15).Value = RELEVE.P4
> ActiveCell.Offset(0, 16).Value = RELEVE.S4

> merci de votre aide
Avatar
magic-dd
voici mon fichier ça sera peut etre plus aisé pour comprendre

http://cjoint.com/?0lowWLYfZUS
Avatar
LSteph
en fait plus besoin de Releve ni du point puisque releve c'est le nom de ton
Userform
et voici pour des chiffres, toutefois tu devrais ne rendre actif le bouton
que si les deux combo audessus sont renseignées

Dim i As Long, j As Long, montab()
montab = Array("BB", "B", "P", "S")
With ActiveCell
For j = 1 To 13 Step 4
For i = 0 To 3
.Offset(0, j + i).Value = Val(Me.Controls((montab(i) & Int((j + 3.9) / 4))))
Next i
Next j
End With



"magic-dd" a écrit dans le message de
news:
voici mon fichier ça sera peut etre plus aisé pour comprendre

http://cjoint.com/?0lowWLYfZUS
Avatar
magic-dd
bonjour LSteph

tout fonctionne parfaitement

bravo et encore un grand merci

@ bientot


On 15 nov, 18:15, "LSteph" wrote:
en fait plus besoin de Releve ni du point puisque releve c'est le nom de ton
Userform
et voici pour des chiffres, toutefois tu devrais ne rendre actif le bouto n
que si les deux combo audessus sont renseignées

Dim i As Long, j As Long, montab()
montab = Array("BB", "B", "P", "S")
With ActiveCell
For j = 1 To 13 Step 4
For i = 0 To 3
.Offset(0, j + i).Value = Val(Me.Controls((montab(i) & Int((j + 3.9) / 4))))
Next i
Next j
End With

"magic-dd" a écrit dans le message denews:72f85f1
voici mon fichier ça sera peut etre plus aisé pour comprendre

http://cjoint.com/?0lowWLYfZUS