Simplifier code pour valider des textbox

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LSteph
Le #22791061
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" 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
magic-dd
Le #22791691
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"
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"
> 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
magic-dd
Le #22791671
voici mon fichier ça sera peut etre plus aisé pour comprendre

http://cjoint.com/?0lowWLYfZUS
LSteph
Le #22794971
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" news:
voici mon fichier ça sera peut etre plus aisé pour comprendre

http://cjoint.com/?0lowWLYfZUS
magic-dd
Le #22796931
bonjour LSteph

tout fonctionne parfaitement

bravo et encore un grand merci

@ bientot


On 15 nov, 18:15, "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 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" voici mon fichier ça sera peut etre plus aisé pour comprendre

http://cjoint.com/?0lowWLYfZUS
Publicité
Poster une réponse
Anonyme