combobox

J

Jeny

Guest
re bonjour le forum

j'ai un fichier client (feuille fichier_client)
je n'arrive pas à rajouter des client dans cette feuille si j'en remet un via un userform il m'efface celui qui est mis pour mettre le nouveau
voici mon code

Private Sub ComboBox_clients_Change()
TextBox1.Value = Me.ComboBox_clients.Column(1, Me.ComboBox_clients.ListIndex)
TextBox2.Value = Me.ComboBox_clients.Column(2, Me.ComboBox_clients.ListIndex)
TextBox3.Value = Me.ComboBox_clients.Column(3, Me.ComboBox_clients.ListIndex)

End Sub

Private Sub UserForm_Initialize()
Dim L As Integer
L = Sheets("fichier_client").Range("A65536").End(xlUp).Row
With Me.ComboBox_clients
.ColumnCount = 4
.ColumnWidths = "0;100;0;0"
.RowSource = "fichier_client!A2:d" & L
End With

End Sub

Private Sub CommandButton1_Click()
Dim maligne As Integer

maligne = Sheets("devis").Range("e14").End(xlUp).Row + 1

Sheets("devis").Range("E12") = TextBox1.Value
Sheets("devis").Range("E13") = TextBox2.Value
Sheets("devis").Range("E14") = TextBox3.Value

maligne = Sheets("fichier_client").Range("A65536").End(xlUp).Row + 1
Sheets("fichier_client").Range("b" & maligne) = TextBox1.Value
Sheets("fichier_client").Range("c" & maligne) = TextBox2.Value
Sheets("fichier_client").Range("d" & maligne) = TextBox3.Value


Unload UF_client




End Sub


thierry m'avait aidé sur le chat mais j'ai du formaté et j'ai perdu pas mal de fichier
merci de votre coup de main
bonne journée
jeny
 
R

Robert

Guest
Salut Jeny, salut le forum,

C'est vrai qu'avec la même variable redéfinie ça marche mais te propose d'en utiliser deux, maligne et maligne2, pour éviter les confusions.

Je ne sais pas si 'il y a quelques chose dans la colonne A de la feuille "fichier_client" mais ton code répérais la première ligne vide du tableau par rapport à la colonne A alors que tu collais les données à partir de la colonne B... Je pense que l'erreur vient de là.

En gras les modifs :

Private Sub CommandButton1_Click()
Dim maligne As Long
Dim maligne2 As Long

maligne = Sheets("devis").Range("e14").End(xlUp).Row + 1
Sheets("devis").Range("E12") = TextBox1.Value
Sheets("devis").Range("E13") = TextBox2.Value
Sheets("devis").Range("E14") = TextBox3.Value
maligne2 = Sheets("fichier_client").Range("B65536").End(xlUp).Row + 1 'là tu faisais référence à la colonne A...
Sheets("fichier_client").Range("b" & maligne2) = TextBox1.Value
Sheets("fichier_client").Range("c" & maligne2) = TextBox2.Value
Sheets("fichier_client").Range("d" & maligne2) = TextBox3.Value
Unload UF_client
End Sub

À plus,

Robert
 
J

Jeny

Guest
Re le forum
salut Robert,

Merci beaucoup ça marche

J'ai un autre probleme maintenant dans mon userform si je clique sur un client que j'ai deja tout marche comme je veux, sauf qu'il me le reecrit sur mon fichier client et t-il possible d'éviter ça
encoremerci de vos réponses
bonne journée
Jeny
ps l'erreur venait bien de la "fameuse colonne A"
 
R

Robert

Guest
Re...

Essaie comme ça :

Private Sub CommandButton1_Click()
Dim maligne As Long
Dim maligne2 As Long
Dim cel As Range 'déclare la variable cel
maligne = Sheets("devis").Range("e14").End(xlUp).Row + 1
Sheets("devis").Range("E12") = textbox1.Value
Sheets("devis").Range("E13") = textbox2.Value
Sheets("devis").Range("E14") = textbox3.Value
maligne2 = Sheets("fichier_client").Range("B65536").End(xlUp).Row + 1
'je t'ai mis les trois options, à toi de choisir laquelle tu veux en supprimant ou pas l'apostrophe
'pour le momment seule la première fonctionne
For Each cel In Range("B1:B" & maligne2)
'compare que sur textbox1
If cel.Value = textbox1.Value Then Exit Sub

'compare sur textbox1 et textbox2
'If cel.Value = textbox1.Value And cel.Offset(0, 1).Value = textbox2.Value _
Then Exit Sub

'compare sur textbox1, textbox2 et textbox3
'If cel.Value = textbox1.Value And cel.Offset(0, 1).Value = textbox2.Value _
And cel.Offset(0, 2).Value = textbox3.Value Then Exit Sub
Next cel
Sheets("fichier_client").Range("b" & maligne2) = textbox1.Value
Sheets("fichier_client").Range("c" & maligne2) = textbox2.Value
Sheets("fichier_client").Range("d" & maligne2) = textbox3.Value
Unload UF_client
End Sub


À plus,

Robert
 
J

Jeny

Guest
re bonsoir
bonsoir Robert,

encore merci ,j'ai ajouté ça mais ça marche pas
j'ai decalé ma colonne pour pas que le A soit vide

For Each cel In Sheets("fichier_client").Range("a1:a" & maligne)
'compare que sur textbox1
If cel.Value = TextBox1.Value Then Exit Sub

ça le copie tj même si il existe
merci de ta patience
jeny
 
R

Robert

Guest
Re Jeny, salut le forum,

pourrais-tu joindre une copie épurée et zippée avec quelques lignes seulement de l'onglet "fichier_client" et ton UserForm pour que j'essaie de comprendre le pourquoi du comment.

À plus,

Robert
 
J

Jeny

Guest
Re le forum
Bonjour Robert


Enfin reussi c'était vraiment trop lourd il ne reste que l'essentiel
J'espere que tu pourras m'aider

encore merci
salut
Jeny
 

Pièces jointes

  • AppliGuylainex.zip
    38.2 KB · Affichages: 14
  • AppliGuylainex.zip
    38.2 KB · Affichages: 15
  • AppliGuylainex.zip
    38.2 KB · Affichages: 14
R

Robert

Guest
Re Jeny, bonjour le forum,

Désolé mais c'était le seul moyen pour que j'y arrive rapidement... Je pense que ça devrait de convenir.

À plus,

Robert
 

Pièces jointes

  • AppliGuylainex.zip
    35.3 KB · Affichages: 20
  • AppliGuylainex.zip
    35.3 KB · Affichages: 23
  • AppliGuylainex.zip
    35.3 KB · Affichages: 28

Discussions similaires

Réponses
6
Affichages
281