j'ai réussi !
En fait, je me suis servi du userform qui capte le N° de ligne active sur un Label(caché) et récupère la valeur pour sélectionner la ligne sur l'autre feuille.
Macro sheet1:
Private Sub Worksheet_Change(ByVal Target As Range)
'**active couleurs**
If Not Intersect([planning], Target) Is Nothing Then
On Error Resume Next
Target.Interior.ColorIndex = [couleurs].Find(Target, LookAt:=xlWhole).Interior.ColorIndex
End If
If Not Intersect([planning], Target) Is Nothing Then
On Error Resume Next
Target.Font.ColorIndex = [couleurs].Find(Target, LookAt:=xlWhole).Font.ColorIndex
End If
'**Congés Fractionnés**
If ActiveCell.Value = Worksheets("Paramètres").Range("D35") Then '"CF"
ActiveSheet.Rows(ActiveCell.Row).Select
ActiveCell.Select
UserForm1.Show 'vbModeless
ElseIf ActiveCell.Value = Worksheets("Paramètres").Range("D29") Then '"HS"
ActiveSheet.Rows(ActiveCell.Row).Select
ActiveCell.Select
UserForm1.Show 'vbModeless
End If
End Sub
Macro userform:
Private Sub CommandButton2_Click()
Dim Valeur As String
If UserForm1.ComboBox2.Value = "" Then
MsgBox " Vous n'avez rien sélectionné ! "
Exit Sub
ElseIf UserForm1.TextBox1.Value = "" Then
MsgBox " Saisie imcomplète ! . "
Exit Sub
ElseIf UserForm1.TextBox2.Value = "" Then
MsgBox " Saisie imcomplète ! . "
Exit Sub
End If
Application.ScreenUpdating = False
'MsgBox (Label3.Caption) 'Vérifie le N° de ligne
Label3.Caption = ActiveSheet.Rows(ActiveCell.Row).Address
Worksheets("DataCF").Select
Range(Label3.Caption).Select
ActiveSheet.Rows(ActiveCell.Row).Select 'sélectionne ligne n
ActiveCell.Select 'sélectionne ligne n colonne A
Ce n'est peut-être pas "catholique" en VBA mais le principal, c'est que cela fonctionne
Si il y a plus simple(sans passer par le userform), je suis preneur.