Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

declaration valeur

  • Initiateur de la discussion Initiateur de la discussion Phil39
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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:
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
21
Affichages
2 K
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
906
Réponses
3
Affichages
879
Réponses
9
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…