bonsoir,
comment à partir d'un filtre automatique récupérer le N° de la ligne sous vba ?
je suis obligé de cliquer sur la ligne filtrée sous excelle pour récupérer le N° de la ligne.
afin de lancer une nouvelle recherche dans une autre feuille à partir d'un nouveau filtre automatique.
feuille 1 filtre automatique sur colonne A N°facture, affichage ligne filtrée (LIGNE, Colonne D)
Comment recuperer Le N° de La Ligne
feuille2 filtre automatique sur colonne D (Nom du client)

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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
                                      Sub Interrogation_Champs_Vips()
                                                      Dim NomClient As String

                                                                                           NOMDELAFEUILLE = "ETAT"
                                                                                                   Worksheets(NOMDELAFEUILLE).Activate
                                                                                  'ON DETERMINE LA DERNIERE LIGNE ACTIVE
                                                                                                            DerniereLigne = ActiveSheet.UsedRange.Row - 1
                                                                                                         DerniereLigne = DerniereLigne + ActiveSheet.UsedRange.Rows.Count
        
                                                                                                            Set r = Range("a1:a2563")
  
   
                                                                                                                 'ON SCANNE LE TALON DE REGLEMENT
                                                                                                                                       Call scan(talon)
                                                                                                                          'Application.ScreenUpdating = True
    
                                                                                                             
                                                                                                               
   
                                                    
                                                                                                            MsgBox ("saisie terminée")
                                                                                                               Application.ScreenUpdating = True


                                                                    End Sub
------------------------------------------------------------------------------------------------------------------------****************************************************
                                                 Function scan(talon) As String------------------------------------------------------------
                                                                        Dim ligne As Integer
                                                                       Dim NomClient as string    

                                                                                                Set r = Range("A1:A2500")
                                                                                                       'EFFACE LE FILTRE
                                                                                                     Clear_Filter
                                                                                                                  'on scan le Talon pour récupérer le N°facture qui va permettre de d'afficher une ligne filtrée avec le Nom du Client
                                                                                                                         talon = InputBox("scannez le talon : ", " Pointage Règlement")
                                                                                                                         talon = Right(talon, 10)
                                                                                                  Selection.AutoFilter
                                                                                               ActiveSheet.Range("$A$1:$M$2563").AutoFilter Field:=1, Criteria1:=talon, Operator:=xlAnd
                                    
                                                                                                       ' NomClient = ""
                                                                                                          ' ligne = 0
   
        
                                                                                                              'JE DOIS CLIQUER SUR LA LIGNE POUR RECUPERER LE N° DE LA LIGNE
       
                                                                                                                       ' Exemple : N° de la ligne 1973 dans la feuille ETAT
                                                                                                                                          ligne = ActiveCell.Row       
                                                                                                                  'Récuperation du Nom du client pour la Recherche dans la Feuille 2 VIPS
      
                                                                                                                                        NomClient = r(ligne, 4).Value
                                                                                                                               Sheets("vips").Select
                                                                                                                  'Nouvelle recherche dans la feuille 2 vips à partir du nom du client
                                                                                                              ActiveSheet.Range("$A$1:$O$2344").AutoFilter Field:=2, Criteria1:=NomClient, Operator:=xlAnd
reponse
Range("A2:A" & Range("A65536").End(xlUp).Row).SpecialCells(xlVisible).Cells(1, 1).Select
cordialement