Bonjour
Voilà mon petit soucis :
Lors de la validation d'un formulaire, je renseigne les cellules de la
ligne (feuille B) depuis laquelle j'appelle le formulaire par un
double click.
Les sources de données se situent dans une autre feuille (A).
Je souhaiterai qu'après la validation, toute les valeurs sélectionnées
via une listBox soient effacées sur feuille A, soit la ligne entière,
et qu'ensuite cette feuille soit triée selon les valeurs dans la
première colonne.
Voici comment les choses commencent :
Puis, le formulaire s'ouvre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 ' depuis la feuille "RIF", procédure d'appel du formulaire F_RIF_1 Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean) If Target.column = 7 then F_RdV_1.Show End if Cancel = True End Sub
Je choisis une ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 ' Initialisation du formulaire Private Sub UserForm_Initialize() ' Alimenter la ListBox (LB_Nom_P) With LB_Nom_P .ColumnCount = 10 'dix valeurs sont nécessaires .ColumnWidths = "100;100;100" ' seules 3 dont visibles .ColumnHeads = True ' étiquettes des colonnes .RowSource = "Transit_RdV_RIF!A2:L1OO" ' données sources .MultiSelect = fmMultiSelectSingle End With Me.Label_UserName = Environ("UserName") Me.Label_Now = Format (Now, "DD/MM/YYYY HH:MM") End Sud
Enfin je valide :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ' La selection renseigne trois TextBox Private Sub LB_Click() TB_Nom_RIF.Value = LB_Nom_P.Value TB_Prenom_RIF = LB_Nom_P.List (,1) TB_Tel_RIF = TB_Nom_P.List (,2) End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 ' Les dix valeurs selectionnées alimentent la Feuil "RIF!" depuis la cellule.Offset (colonne 7) Private Sub CommandButton_Click () ActiveCell = TB_Nom_RIF.Value ActiveCell.Offset(,1) = TB_Prenom_RIF.Value ActiveCell.Offset(,2) = TB_Tel_RIF.Value ActiveCell.Offset(,4) = LB_Nom_p.List (,3) ActiveCell.Offset(,5) = LB_Nom_p.List (,4) ActiveCell.Offset(,6) = LB_Nom_p.List (,5) ActiveCell.Offset(,7) = LB_Nom_p.List (,6) ActiveCell.Offset(,8) = LB_Nom_p.List (,7) ActiveCell.Offset(,9) = LB_Nom_p.List (,8) ActiveCell.Offset(,10) = LB_Nom_p.List (,9) ActiveCell.Offset(,11) = LB_Nom_p.List (,10) ActiveCell.Offset(,12) = LB_Nom_p.List (,11) ActiveCell.Offset(,13) = Me.Label_UserName ActiveCell.Offset(,14) = Me.Label_Now ' lignes de code qui devront effacer les données sélectionnées ' sur la ligne de la RowSource dans la Feuille "Transit_RdV_RIF!" ' lignes de codes pour trier la Feuille "Transit_RdV_RIF!" ' A2: O100 UnLoad F_RIF_1 End Sub
Voilà tout est dit
Merci de vos éclairages et vos commentaires
Bon week-end à toutes et tous
JeanYves
Partager