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)
cordialement
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
Partager