Enregistrement données d'un userform
Bonjour Forum,
J'ai un userform "Fournisseur" dans lequel je rentre des données.
Pour chaque ligne de mon tableau, j'ouvre un userform via :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'permet de réafficher le userform et rempli les champs
'la macro repère le click (Target)
Cancel = True
If Target.Column = 42 Then
Fournisseur.OT.Value = Sheets("bilan").Range("B" & Target.Row).Value
Fournisseur.Combo1.Value = Sheets("bilan").Range("DA" &Target.Row).Value
Fournisseur.Text1.Value = Sheets("bilan").Range("DB" & Target.Row).Value
...etc...
Fournisseur.Show
End If
End Sub |
Jusque là tout va bien..
Ensuite je met un bouton "Enregistrer" sur mon userform.
J'aimerais que son utilisation me permette :
- de repérer la ligne (Target Row) que le userform concerne et d'enregistrer les données (effacer les précédentes et inscrire les nouvelles) dans les colonnes (DA, DB,...etc..).
Ca me paraît pas bien compliqué, mais je ne sais pas comment m'y prendre pour le repérage, l'effacement des données pré rentrée et l'incription des nouvelles.
Merci pour votre aide!
En fait je n'arrive pas à récupérer Target dans
Bonjour,
Dans ton UserForm tu ajoute ce code :
Code:
1 2 3 4
| Public Sub Charger(Target As Long)
Me.Tag = Target
Me.Visible = True
End Sub |
Et tu l’appel comme ça.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'permet de réafficher le userform et rempli les champs
'la macro repère le click (Target)
Cancel = True
If Target.Column = 42 Then 'si le click se trouve dans la colonne 42 (AP)
Fournisseur.OT.Value = Sheets("bilan").Range("B" & Target.Row).Value
Fournisseur.Combo1.Value = Sheets("bilan").Range("DA" &Target.Row).Value
Fournisseur.Text1.Value = Sheets("bilan").Range("DB" & Target.Row).Value
Fournisseur.Charger Target.Row
End If
End Sub |
Sur le bouton click
Code:
1 2 3 4 5 6
| Private Sub Enregistrer_Click()
'enregistre les données renseignées dans le userform dans le tableau Bilan
Sheets("bilan").Range("DB" & Me.Tag).Value = Fournisseur.Text1.Value
End Sub |