[Résolu] Copier textbox dans cellule (ligne variable)

Kintin

XLDnaute Nouveau
Bonjour à tous...

N'étant pas très calé en vba, j'en viens à vous demander de l'aide...

Pour faciliter la visibilité dans une base de données clients, j'ai créé une feuille récapitulative qui reprend toutes les valeurs de ces clients (avec une fonction rechercheV : donc je dois noter soit le numero du client, soit son nom et toutes les données modifiables se retrouvent dans cette feuille)...

Cela fonctionne très bien,
Mais j'aimerai pouvoir modifier directement ces données en créant, par exemple, un userform qui modifierait ces valeurs...

j'ai créé l'useform et copié tout les titres (en utilisant les "label", par contre je n'arrive pas à copier les valeurs (dans des "textbox") car le numero de ligne dépend du numero de dossier.

Malgré pas mal d’essai de codes, je dois dire que je suis bloqué...

Merci de votre aide, si vous avez besoin d'info supplémentaire, n'hésitez pas...

pour info : ce que j'ai déjà :
au lancement de l'userform => affichage des titres :
Sub UserForm_activate()
Label1 = Sheets("SUIVI FACTURE").Range("C1").Value
Label2 = Sheets("SUIVI FACTURE").Range("D1").Value
Label3 = Sheets("SUIVI FACTURE").Range("E1").Value
Label4 = Sheets("SUIVI FACTURE").Range("F1").Value
Label5 = Sheets("SUIVI FACTURE").Range("G1").Value
Label6 = Sheets("SUIVI FACTURE").Range("H1").Value
Label7 = Sheets("SUIVI FACTURE").Range("I1").Value
Label8 = Sheets("SUIVI FACTURE").Range("J1").Value
Label9 = Sheets("SUIVI FACTURE").Range("K1").Value
Label10 = Sheets("SUIVI FACTURE").Range("L1").Value
Label11 = Sheets("SUIVI FACTURE").Range("M1").Value
Label12 = Sheets("SUIVI FACTURE").Range("N1").Value
Label13 = Sheets("SUIVI FACTURE").Range("O1").Value
Label14 = Sheets("SUIVI FACTURE").Range("P1").Value
Label15 = Sheets("SUIVI FACTURE").Range("Q1").Value
Label16 = Sheets("DATES").Range("C1").Value
Label17 = Sheets("DATES").Range("d1").Value
Label18 = Sheets("DATES").Range("e1").Value
Label19 = Sheets("DATES").Range("f1").Value
Label20 = Sheets("DATES").Range("g1").Value
Label21 = Sheets("Achats").Range("c1").Value
Label22 = Sheets("Achats").Range("d1").Value
Label23 = Sheets("Achats").Range("e1").Value
Label24 = Sheets("Achats").Range("f1").Value
Label25 = Sheets("Achats").Range("g1").Value
Label36 = Sheets("Achats").Range("h1").Value
Label26 = Sheets("Achats").Range("i1").Value
Label27 = Sheets("Achats").Range("j1").Value
Label28 = Sheets("Achats").Range("k1").Value
Label29 = Sheets("Achats").Range("l1").Value
Label30 = Sheets("Achats").Range("m1").Value
Label31 = Sheets("Achats").Range("n1").Value
Label32 = Sheets("Achats").Range("o1").Value
Label33 = Sheets("Achats").Range("p1").Value
Label34 = Sheets("Achats").Range("q1").Value
Label35 = Sheets("Achats").Range("r1").Value
End Sub

j'ai testé ce code sur la derniere ligne à modifiée... je pense etre +/- sur la bonne voie
Private Sub modif_Click()
Lg = Sheets("Recherche").Range(c1).Value - 999
Dim Lg As String
Lg = Sheets("Achats").Cells(65536, 1)
Sheets("Achats").Cells(Lg, "R").Value = UserForm2.TextBox35.Value
End Sub

Il faut que je crée une variable qui détecte la bonne ligne en fonction du numero de client...


Merci d'avance à tous les courageux
 
Dernière édition:

Kintin

XLDnaute Nouveau
Re : Copier textbox dans cellule (ligne variable)

Je vous transmet ci joint, ma base de données (vide et apurée)...

Si vous saviez jeter un oeil sur le code pour userform2...
la feuille où se trouve le bouton d'encodage s'appelle "Recherche" et le bouton s'appelle "modif"

merci d'avance à tout les vba-addict ^^
 

Pièces jointes

  • BDD Client VIDE.xlsm
    146.8 KB · Affichages: 89

JNP

XLDnaute Barbatruc
Re : Copier textbox dans cellule (ligne variable)

Bonjour Kintin :),
A tester :p
Code:
Sub UserForm_activate()
Dim I As Integer, Cellule As Range
For I = 1 To 15
Controls("Label" & I) = Sheets("SUIVI FACTURE").Range("C1").Offset(0, I - 1).Value
Next I
For I = 16 To 20
Controls("Label" & I) = Sheets("DATES").Range("C1").Offset(0, I - 16).Value
Next I
For I = 21 To 35
Controls("Label" & I) = Sheets("Achats").Range("C1").Offset(0, I - 21).Value
Next I
Set Cellule = Sheets("SUIVI FACTURE").Range("B:B").Find(Sheets("Recherche").Range("B1"), lookat:=xlWhole, LookIn:=xlValues)
If Not Cellule Is Nothing Then
For I = 1 To 15
Controls("TextBox" & I).Text = Cellule.Offset(0, I).Value
Next I
End If
Set Cellule = Sheets("DATES").Range("A:A").Find(Sheets("Recherche").Range("B1"), lookat:=xlWhole, LookIn:=xlValues)
If Not Cellule Is Nothing Then
For I = 16 To 20
Controls("TextBox" & I).Text = Cellule.Offset(0, I - 14).Value
Next I
End If
Set Cellule = Sheets("Achats").Range("A:A").Find(Sheets("Recherche").Range("B1"), lookat:=xlWhole, LookIn:=xlValues)
If Not Cellule Is Nothing Then
For I = 21 To 35
Controls("TextBox" & I).Text = Cellule.Offset(0, I - 19).Value
Next I
End If
End Sub
Bonne suite :cool:
 

Kintin

XLDnaute Nouveau
Re : Copier textbox dans cellule (ligne variable)

OK, merci beaucoup...

je vais tester, c'est surement un code moins long que celui que j'ai fini par trouver...

Je le rajoute ici juste pour info (et que les pros rigolent de toutes les lignes inutiles qu'ils trouveront ^^)

Franchement je ne sais pas ce que je ferais sans ce site (et surtout ses membres)...

ENORME MERCI !
.


Private Sub UserForm_activate()

Label1 = Sheets("SUIVI FACTURE").Range("C1").Value
Label2 = Sheets("SUIVI FACTURE").Range("D1").Value
Label3 = Sheets("SUIVI FACTURE").Range("E1").Value
Label4 = Sheets("SUIVI FACTURE").Range("F1").Value
Label5 = Sheets("SUIVI FACTURE").Range("G1").Value
Label6 = Sheets("SUIVI FACTURE").Range("H1").Value
Label7 = Sheets("SUIVI FACTURE").Range("I1").Value
Label8 = Sheets("SUIVI FACTURE").Range("J1").Value
Label9 = Sheets("SUIVI FACTURE").Range("K1").Value
Label10 = Sheets("SUIVI FACTURE").Range("L1").Value
Label11 = Sheets("SUIVI FACTURE").Range("M1").Value
Label12 = Sheets("SUIVI FACTURE").Range("N1").Value
Label13 = Sheets("SUIVI FACTURE").Range("O1").Value
Label14 = Sheets("SUIVI FACTURE").Range("P1").Value
Label15 = Sheets("SUIVI FACTURE").Range("Q1").Value
Label16 = Sheets("DATES").Range("C1").Value
Label17 = Sheets("DATES").Range("d1").Value
Label18 = Sheets("DATES").Range("e1").Value
Label19 = Sheets("DATES").Range("f1").Value
Label20 = Sheets("DATES").Range("g1").Value
Label21 = Sheets("Achats").Range("c1").Value
Label22 = Sheets("Achats").Range("d1").Value
Label23 = Sheets("Achats").Range("e1").Value
Label24 = Sheets("Achats").Range("f1").Value
Label25 = Sheets("Achats").Range("g1").Value
Label36 = Sheets("Achats").Range("h1").Value
Label26 = Sheets("Achats").Range("i1").Value
Label27 = Sheets("Achats").Range("j1").Value
Label28 = Sheets("Achats").Range("k1").Value
Label29 = Sheets("Achats").Range("l1").Value
Label30 = Sheets("Achats").Range("m1").Value
Label31 = Sheets("Achats").Range("n1").Value
Label32 = Sheets("Achats").Range("o1").Value
Label33 = Sheets("Achats").Range("p1").Value
Label34 = Sheets("Achats").Range("q1").Value
Label35 = Sheets("Achats").Range("r1").Value

Dim BL As Integer
Dim Lg As Integer
Lg = Sheets("Recherche").Range("c1").Value
BL = Lg - 999

UserForm2.TextBox1.Value = Sheets("SUIVI FACTURE").Cells(BL, "C").Value
UserForm2.TextBox2.Value = Sheets("SUIVI FACTURE").Cells(BL, "D").Value
UserForm2.TextBox3.Value = Sheets("SUIVI FACTURE").Cells(BL, "E").Value
UserForm2.TextBox4.Value = Sheets("SUIVI FACTURE").Cells(BL, "F").Value
UserForm2.TextBox5.Value = Sheets("SUIVI FACTURE").Cells(BL, "G").Value
UserForm2.TextBox6.Value = Sheets("SUIVI FACTURE").Cells(BL, "H").Value
UserForm2.TextBox7.Value = Sheets("SUIVI FACTURE").Cells(BL, "I").Value
UserForm2.TextBox8.Value = Sheets("SUIVI FACTURE").Cells(BL, "J").Value
UserForm2.TextBox9.Value = Sheets("SUIVI FACTURE").Cells(BL, "K").Value
UserForm2.TextBox10.Value = Sheets("SUIVI FACTURE").Cells(BL, "L").Value
UserForm2.TextBox11.Value = Sheets("SUIVI FACTURE").Cells(BL, "M").Value
UserForm2.TextBox12.Value = Sheets("SUIVI FACTURE").Cells(BL, "N").Value
UserForm2.TextBox13.Value = Sheets("SUIVI FACTURE").Cells(BL, "O").Value
UserForm2.TextBox14.Value = Sheets("SUIVI FACTURE").Cells(BL, "P").Value
UserForm2.TextBox15.Value = Sheets("SUIVI FACTURE").Cells(BL, "Q").Value

UserForm2.TextBox16.Value = Sheets("Dates").Cells(BL, "C").Value
UserForm2.TextBox17.Value = Sheets("Dates").Cells(BL, "D").Value
UserForm2.TextBox18.Value = Sheets("Dates").Cells(BL, "E").Value
UserForm2.TextBox19.Value = Sheets("Dates").Cells(BL, "F").Value
UserForm2.TextBox20.Value = Sheets("Dates").Cells(BL, "G").Value

UserForm2.TextBox21.Value = Sheets("Achats").Cells(BL, "C").Value
UserForm2.TextBox22.Value = Sheets("Achats").Cells(BL, "D").Value
UserForm2.TextBox23.Value = Sheets("Achats").Cells(BL, "E").Value
UserForm2.TextBox24.Value = Sheets("Achats").Cells(BL, "F").Value
UserForm2.TextBox25.Value = Sheets("Achats").Cells(BL, "G").Value
UserForm2.TextBox36.Value = Sheets("Achats").Cells(BL, "H").Value
UserForm2.TextBox26.Value = Sheets("Achats").Cells(BL, "I").Value
UserForm2.TextBox27.Value = Sheets("Achats").Cells(BL, "J").Value
UserForm2.TextBox28.Value = Sheets("Achats").Cells(BL, "K").Value
UserForm2.TextBox29.Value = Sheets("Achats").Cells(BL, "L").Value
UserForm2.TextBox30.Value = Sheets("Achats").Cells(BL, "M").Value
UserForm2.TextBox31.Value = Sheets("Achats").Cells(BL, "N").Value
UserForm2.TextBox32.Value = Sheets("Achats").Cells(BL, "O").Value
UserForm2.TextBox33.Value = Sheets("Achats").Cells(BL, "P").Value
UserForm2.TextBox34.Value = Sheets("Achats").Cells(BL, "Q").Value
UserForm2.TextBox35.Value = Sheets("Achats").Cells(BL, "R").Value

End Sub



Private Sub modif_Click()
Dim BL As Integer
Dim Lg As Integer
Lg = Sheets("Recherche").Range("c1").Value
BL = Lg - 999

Sheets("SUIVI FACTURE").Cells(BL, "C").Value = UserForm2.TextBox1.Value
Sheets("SUIVI FACTURE").Cells(BL, "D").Value = UserForm2.TextBox2.Value
Sheets("SUIVI FACTURE").Cells(BL, "E").Value = UserForm2.TextBox3.Value
Sheets("SUIVI FACTURE").Cells(BL, "F").Value = UserForm2.TextBox4.Value
Sheets("SUIVI FACTURE").Cells(BL, "G").Value = UserForm2.TextBox5.Value
Sheets("SUIVI FACTURE").Cells(BL, "H").Value = UserForm2.TextBox6.Value
Sheets("SUIVI FACTURE").Cells(BL, "I").Value = UserForm2.TextBox7.Value
Sheets("SUIVI FACTURE").Cells(BL, "J").Value = UserForm2.TextBox8.Value
Sheets("SUIVI FACTURE").Cells(BL, "K").Value = UserForm2.TextBox9.Value
Sheets("SUIVI FACTURE").Cells(BL, "L").Value = UserForm2.TextBox10.Value
Sheets("SUIVI FACTURE").Cells(BL, "M").Value = UserForm2.TextBox11.Value
Sheets("SUIVI FACTURE").Cells(BL, "N").Value = UserForm2.TextBox12.Value
Sheets("SUIVI FACTURE").Cells(BL, "O").Value = UserForm2.TextBox13.Value
Sheets("SUIVI FACTURE").Cells(BL, "P").Value = UserForm2.TextBox14.Value
Sheets("SUIVI FACTURE").Cells(BL, "Q").Value = UserForm2.TextBox15.Value

Sheets("Dates").Cells(BL, "C").Value = UserForm2.TextBox16.Value
Sheets("Dates").Cells(BL, "D").Value = UserForm2.TextBox17.Value
Sheets("Dates").Cells(BL, "E").Value = UserForm2.TextBox18.Value
Sheets("Dates").Cells(BL, "F").Value = UserForm2.TextBox19.Value
Sheets("Dates").Cells(BL, "G").Value = UserForm2.TextBox20.Value

Sheets("Achats").Cells(BL, "C").Value = UserForm2.TextBox21.Value
Sheets("Achats").Cells(BL, "D").Value = UserForm2.TextBox22.Value
Sheets("Achats").Cells(BL, "E").Value = UserForm2.TextBox23.Value
Sheets("Achats").Cells(BL, "F").Value = UserForm2.TextBox24.Value
Sheets("Achats").Cells(BL, "G").Value = UserForm2.TextBox25.Value
Sheets("Achats").Cells(BL, "H").Value = UserForm2.TextBox36.Value
Sheets("Achats").Cells(BL, "I").Value = UserForm2.TextBox26.Value
Sheets("Achats").Cells(BL, "J").Value = UserForm2.TextBox27.Value
Sheets("Achats").Cells(BL, "K").Value = UserForm2.TextBox28.Value
Sheets("Achats").Cells(BL, "L").Value = UserForm2.TextBox29.Value
Sheets("Achats").Cells(BL, "M").Value = UserForm2.TextBox30.Value
Sheets("Achats").Cells(BL, "N").Value = UserForm2.TextBox31.Value
Sheets("Achats").Cells(BL, "O").Value = UserForm2.TextBox32.Value
Sheets("Achats").Cells(BL, "P").Value = UserForm2.TextBox33.Value
Sheets("Achats").Cells(BL, "Q").Value = UserForm2.TextBox34.Value
Sheets("Achats").Cells(BL, "R").Value = UserForm2.TextBox35.Value

UserForm2.Hide
End Sub
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 294
Messages
2 086 896
Membres
103 404
dernier inscrit
sultan87