Copier cellules dans textbox

  • Initiateur de la discussion Initiateur de la discussion yves03
  • 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 !

yves03

XLDnaute Occasionnel
Bonjour a tous,
Je parcours enormement votre forum qui est super.
Je voudrais pouvoir dans le fichier ci-joint, saisir dans le textbox "Reference " de l'userform1 une reference (colonne B) et afficher la quantite "stock" (colonne F) et la designation (colonne C) dans les textbox correspondant.
Et pouvoir modifier la quantite dans l'userform si celle-ci n'est pas correct.
Je souhaite garder un textbox pour la reference, car je doit pouvoir faire une saisie a l'aide d'un lecteur code barre.
J'espere que vous pourrez m'aider.
Merci d'avance
 

Pièces jointes

Re : Copier cellules dans textbox

Bonjour,

mis à part que j'ai mis un combobox, à la place de ton textbox1, parce que je ne comprends pas la raison :

Je souhaite garder un textbox pour la reference, car je doit pouvoir faire une saisie a l'aide d'un lecteur code barre.

regarde le fichier :
 

Pièces jointes

Re : Copier cellules dans textbox

En fait j'ai du mal m'exprimer, ce n'est pas une nouvelle colonne que je voulais, c'est simplement pouvoir rajouter une reference qui n'existe pas dans ma liste.
Pouvoir saisir la reference, la designation et la quantite et ensuite qu'elle vienne incrementer ma liste;
Merci d'avance
 
Re : Copier cellules dans textbox

Re-,

remplace tout ton code par celui-ci

si tu rentres un nouveau code dans le combobox1, et que la référence n'est pas connue, les textbox1 et 2 sont vidés
tu renseignes alors ceux-ci, et après appui sur "Valider", les données sont mises à la suite dans ton tableau

Code:
Public Nouveau As Boolean, Lig As Long
Private Sub ComboBox1_Change()
If Me.ComboBox1.MatchFound = True Then
Me.TextBox1.Value = Cells(Me.ComboBox1.ListIndex + 3, 6)
Me.TextBox2.Value = Cells(Me.ComboBox1.ListIndex + 3, 3)
Else
Me.TextBox1.Value = ""
Me.TextBox2.Value = ""
End If
End Sub
Private Sub CommandButton1_Click()
If Nouveau Then
Cells(Lig, 2).Value = Me.ComboBox1.Value
Cells(Lig, 6).Value = Val(Me.TextBox1)
Cells(Lig, 3).Value = Me.TextBox2
Nouveau = False
Else
Cells(Me.ComboBox1.ListIndex + 3, 6) = Val(Me.TextBox1)
End If
Unload Me
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub UserForm_Initialize()
Range("B3:B" & [B65000].End(xlUp).Row).Name = "mabase"
Me.ComboBox1.List = Range("mabase").Value
End Sub
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Me.ComboBox1.MatchFound = True Then
    Exit Sub
Else
    Nouveau = True: Lig = [B65000].End(xlUp).Row + 1
End If
End Sub
 
Re : Copier cellules dans textbox

Bonjour à tous,
Le fichier fonctionne tres bien, mais je voudrais rajouter un ComboBox sur la colonne "New Reference" qui se remplisse a l'ouverture de l'userform, de meme que le ComboBox1 sur la colonne " Reference" et pouvoir rechercher une reference par l'un ou l'utre Combobox et avoir les donnees correpondantes qui s'affichent dans les textBox ainsi que dans l'autre ComboBox.
Y a t'il une solution à mon probleme 😕

Merci d'avance
 

Pièces jointes

Re : Copier cellules dans textbox

Bonjour,

j'ai travaillé dessus, mais la difficulté réside dans le fait que si tu veux modifier tes données en sélectionnant la nouvelle référence ou l'ancienne, indifféremment, ben, ça se mord un peu la queue, et le code n'est pas aisé

Pour afficher, c'est pas bien compliqué, c'est pour les modifications que ça se complique...
 
Re : Copier cellules dans textbox

Re-,

change tout ton code par celui-ci :

Code:
Public Nouveau As Boolean, Lig As Long, NewRef As Boolean
Private Sub ComboBox1_Change()
If NewRef = False Then
If Me.ComboBox1.MatchFound = True Then
Me.TextBox1.Value = Cells(Me.ComboBox1.ListIndex + 3, 6)
Me.TextBox2.Value = Cells(Me.ComboBox1.ListIndex + 3, 3)
Me.ComboBox2.Value = Cells(Me.ComboBox1.ListIndex + 3, 1)
Else
Me.TextBox1.Value = ""
Me.TextBox2.Value = ""
Me.ComboBox2.Value = ""
End If
End If
NewRef = False
End Sub

Private Sub ComboBox2_Change()
NewRef = True
Lig = Columns(1).Find(Me.ComboBox2).Row
Me.TextBox1.Value = Cells(Lig, 6)
Me.TextBox2.Value = Cells(Lig, 3)
Me.ComboBox1.Value = Cells(Lig, 2)
End Sub

Private Sub CommandButton1_Click()
If Nouveau Then
Cells(Lig, 2).Value = Me.ComboBox1.Value
Cells(Lig, 6).Value = Val(Me.TextBox1)
Cells(Lig, 3).Value = Me.TextBox2
Nouveau = False
Else
Cells(Me.ComboBox1.ListIndex + 3, 6) = Val(Me.TextBox1)
End If
Unload Me
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub UserForm_Initialize()
Range("B3:B" & [B65000].End(xlUp).Row).Name = "mabase"
Me.ComboBox1.List = Range("mabase").Value
For Each cel In Range("A3:A" & [A65000].End(xlUp).Row)
    If cel.Value <> "" Then Me.ComboBox2.AddItem (cel.Value)
Next cel
End Sub
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Me.ComboBox1.MatchFound = True Then
    Exit Sub
Else
    Nouveau = True: Lig = [B65000].End(xlUp).Row + 1
End If
End Sub
 
Re : Copier cellules dans textbox

Merci ça fonctionne, le seul probleme lorsque je rajoute une ligne, je ne peux faire une recherche de la reference que par le ComboBox "New reference" ça ne fonctionne pas par le ComboBox " reference "
Y a t'il une solution ?
 
- 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

T
Réponses
2
Affichages
1 K
Tava94
T
T
Réponses
4
Affichages
885
tit32600
T
Réponses
14
Affichages
2 K
Retour