declaration valeur

Phil39

XLDnaute Occasionnel
Bonjour,

J'ai un userform qui me permet de préparer ligne par ligne un bon de livraison.
Lorsque l'on clique sur un bouton "validation", je souhaite copier 2 valeurs dans un ligne de mon bon de livraison :
Le matériel en B18
La quantité en J18
Une fois que c'est fait, le userform est remis à zéro dans une procédure SaisieBL_Initialize
Le soucis c'est que je n'arrive pas à incrémenter de 1 la ligne ou ira se placer le bien suivant.

Le soucis vient de ma déclaration intitiale de placement du premier bien dans ma feuille (a = 18) que je ne sais pas ou placer pour ensuite permettre un a = a + 1.

Voici ma petite procédure :

Private Sub Validation_Click()
a = 18
Range("B" & (a)) = Saisie.Materiel.Value
Range("J" & (a)) = Saisie.Quantite.Value
If a > 30 Then
MsgBox "Limite de saisie atteinte !"
End If
a = a + 1
Call SaisieBL_Initialize
End Sub

Merci de votre aide
 

Phil39

XLDnaute Occasionnel
Re : declaration valeur

Bonjour Phil39.

Pas sûr, mais place "a = a + 1" avant "If a > 30".

A +

Pareil mais merci de la réponse.

Je vois bien d'où vient le probleme :

Private Sub Validation_Click()
a = 18
Range("B" & (a)) = Saisie.Materiel.Value
Range("J" & (a)) = Saisie.Quantite.Value
If a > 30 Then
MsgBox "Limite de saisie atteinte !"
End If
a = a + 1
Call SaisieBL_Initialize
End Sub

c'est ma déclaration initiale de la valeur de a en fait.
le SaisieBL_Initialize reset mes textbox et sur un clique sur le bouton Validation, ça doit me basculer les données. Mais comme a=18 à chaque fois, ça met dans la première ligne même si aprés a=a+1

Si je met a=18 dans SaisieBL_Initialize, ça "reset" aussi a à la valeur 18.

En fait je ne sais pas ou mettre la valeur initiale de a

EDIT :

Ce fût (très) dur mais j'ai trouvé une solution !

Pour ceux que cela interresse, il faut ajouter une recherche de la première ligne vide :

Private Sub CommandButton1_Click()

a = 18

Sheets("BL").Select
While Not Range("B" & a & "").Value = ""
a = a + 1
Wend


Range("B" & (a)) = SaisieBL.Materiel.Value
Range("J" & (a)) = SaisieBL.Quantite.Value

If i = 47 Then
MsgBox "Limite de saisie atteinte !"
End If

Call SaisieBL_Initialize
End Sub
 
Dernière édition:

13GIBE59

XLDnaute Accro
Re : declaration valeur

Essaie :

Code:
Range("B18").End(xlUp).Offset(1,0).Select
ActiveCell.Value=Saisie.Materiel.Value
ActiveCell.Offset(0,8).Value=Saisie.Quantite.Value
If Range("B18").End(xlUp).Row > 30 Then
MsgBox"Limite de saisie atteinte !"
End If
Call saisieBL_Initialise
End Sub
 

Statistiques des forums

Discussions
312 496
Messages
2 088 980
Membres
103 996
dernier inscrit
KB4175