Ceci s'applique seulement le demandeur veut sélectionner la première cellule (ligne d'étiquette du filtre) et dans ce cas, seulement ceci aurait suffit : Range("_FilterDataBase")(1,1).select
Si le demandeur veut avoir la première ligne de résultats du filtre auto. ce n'est pas cette ligne de code qui va lui donner.
Ceci s'applique seulement le demandeur veut sélectionner la première cellule
(ligne d'étiquette du filtre) et dans ce cas, seulement ceci aurait suffit :
Range("_FilterDataBase")(1,1).select
Si le demandeur veut avoir la première ligne de résultats du filtre auto. ce n'est
pas cette ligne de code qui va lui donner.
Ceci s'applique seulement le demandeur veut sélectionner la première cellule (ligne d'étiquette du filtre) et dans ce cas, seulement ceci aurait suffit : Range("_FilterDataBase")(1,1).select
Si le demandeur veut avoir la première ligne de résultats du filtre auto. ce n'est pas cette ligne de code qui va lui donner.
MichDenis
Sur ta plage où tu as exécutée ton filtre élaboré :
Exemple :
With Range("A1:G50") For Each r In .SpecialCells(xlCellTypeVisible).Rows If r.Row <> 1 Then If r.EntireRow.Hidden = False Then r.Cells(1, 1).Select Exit For End If End If Next End With
"Pascal" a écrit dans le message de news:
Je n'utilise pas un filtre automatique mais un filtre élaboré avec filtrage sur place...
Cette macro ne fonctionne donc pas...
-- PB
Sur une plage filtré (filtre automatique)
For Each c In Range("_FilterDataBase").SpecialCells(xlCellTypeVisible) If c.Row <> 1 Then c.Select Exit For End If Next
"Pascal" a écrit dans le message de news:
Bonjour,
En VBA, après filtrage d'un tableau (code VBA déjà écrit) comment positionner la cellule active sur la première ligne filtrée ? -- PB
Sur ta plage où tu as exécutée ton filtre élaboré :
Exemple :
With Range("A1:G50")
For Each r In .SpecialCells(xlCellTypeVisible).Rows
If r.Row <> 1 Then
If r.EntireRow.Hidden = False Then
r.Cells(1, 1).Select
Exit For
End If
End If
Next
End With
"Pascal" <Pascal@discussions.microsoft.com> a écrit dans le message de news:
8E31C587-0994-4DDA-BDAE-935753EE52FE@microsoft.com...
Je n'utilise pas un filtre automatique mais un filtre élaboré avec filtrage
sur place...
Cette macro ne fonctionne donc pas...
--
PB
Sur une plage filtré (filtre automatique)
For Each c In Range("_FilterDataBase").SpecialCells(xlCellTypeVisible)
If c.Row <> 1 Then
c.Select
Exit For
End If
Next
"Pascal" <Pascal@discussions.microsoft.com> a écrit dans le message de news:
FD32B058-00AA-407F-ABBF-AB81932576BD@microsoft.com...
Bonjour,
En VBA, après filtrage d'un tableau (code VBA déjà écrit) comment
positionner la cellule active sur la première ligne filtrée ?
--
PB
Sur ta plage où tu as exécutée ton filtre élaboré :
Exemple :
With Range("A1:G50") For Each r In .SpecialCells(xlCellTypeVisible).Rows If r.Row <> 1 Then If r.EntireRow.Hidden = False Then r.Cells(1, 1).Select Exit For End If End If Next End With
"Pascal" a écrit dans le message de news:
Je n'utilise pas un filtre automatique mais un filtre élaboré avec filtrage sur place...
Cette macro ne fonctionne donc pas...
-- PB
Sur une plage filtré (filtre automatique)
For Each c In Range("_FilterDataBase").SpecialCells(xlCellTypeVisible) If c.Row <> 1 Then c.Select Exit For End If Next
"Pascal" a écrit dans le message de news:
Bonjour,
En VBA, après filtrage d'un tableau (code VBA déjà écrit) comment positionner la cellule active sur la première ligne filtrée ? -- PB
JB
ligne = 2 Do While Range("_FilterDataBase").Rows(ligne).Hidden ligne = ligne + 1 Loop Range("_FilterDataBase").Cells(ligne, 1).Select
http://cjoint.com/?lronEKym0s
JB
Je n'utilise pas un filtre automatique mais un filtre élaboré avec fi ltrage sur place...
Cette macro ne fonctionne donc pas...
-- PB
Sur une plage filtré (filtre automatique)
For Each c In Range("_FilterDataBase").SpecialCells(xlCellTypeVisible) If c.Row <> 1 Then c.Select Exit For End If Next
"Pascal" a écrit dans le message d e news:
Bonjour,
En VBA, après filtrage d'un tableau (code VBA déjà écrit) comme nt positionner la cellule active sur la première ligne filtrée ? -- PB
ligne = 2
Do While Range("_FilterDataBase").Rows(ligne).Hidden
ligne = ligne + 1
Loop
Range("_FilterDataBase").Cells(ligne, 1).Select
http://cjoint.com/?lronEKym0s
JB
Je n'utilise pas un filtre automatique mais un filtre élaboré avec fi ltrage
sur place...
Cette macro ne fonctionne donc pas...
--
PB
Sur une plage filtré (filtre automatique)
For Each c In Range("_FilterDataBase").SpecialCells(xlCellTypeVisible)
If c.Row <> 1 Then
c.Select
Exit For
End If
Next
"Pascal" <Pascal@discussions.microsoft.com> a écrit dans le message d e news:
FD32B058-00AA-407F-ABBF-AB81932576BD@microsoft.com...
Bonjour,
En VBA, après filtrage d'un tableau (code VBA déjà écrit) comme nt
positionner la cellule active sur la première ligne filtrée ?
--
PB
Ceci s'applique seulement le demandeur veut sélectionner la première cellule (ligne d'étiquette du filtre) et dans ce cas, seulement ceci aurait suf fit : Range("_FilterDataBase")(1,1).select
Si le demandeur veut avoir la première ligne de résultats du filtre a uto. ce n'est pas cette ligne de code qui va lui donner.
Cette macro positionne également sur la ligne de titre:
For Each c In Range("_FilterDataBase").SpecialCells(xlCellTypeVisible)
If c.Row <> 1 Then
c.Select
Exit For
End If
Next
Ceci s'applique seulement le demandeur veut sélectionner la première cellule
(ligne d'étiquette du filtre) et dans ce cas, seulement ceci aurait suf fit :
Range("_FilterDataBase")(1,1).select
Si le demandeur veut avoir la première ligne de résultats du filtre a uto. ce n'est
pas cette ligne de code qui va lui donner.
Ceci s'applique seulement le demandeur veut sélectionner la première cellule (ligne d'étiquette du filtre) et dans ce cas, seulement ceci aurait suf fit : Range("_FilterDataBase")(1,1).select
Si le demandeur veut avoir la première ligne de résultats du filtre a uto. ce n'est pas cette ligne de code qui va lui donner.
MichDenis
| Cette macro positionne également sur la ligne de titre:
| For Each c In Range("_FilterDataBase").SpecialCells(xlCellTypeVisible) | If c.Row <> 1 Then | c.Select | Exit For | End If | Next
Si la ligne d'étiquette du filtre auto ne se situe pas sur la première ligne de la feuille, il faut adapter la procédure de cette manière : '----------------------------------- Dim A As Long With Range("_FilterDataBase") A = .Cells(1, 1).Row On Error Resume Next With .SpecialCells(xlCellTypeVisible) For Each r In .Rows If r.Row <> A Then r.Cells(1, 1).Select exit for End If Next End With End With '-----------------------------------
| Cette macro positionne également sur la ligne de titre:
| For Each c In Range("_FilterDataBase").SpecialCells(xlCellTypeVisible)
| If c.Row <> 1 Then
| c.Select
| Exit For
| End If
| Next
Si la ligne d'étiquette du filtre auto ne se situe pas sur la première ligne
de la feuille, il faut adapter la procédure de cette manière :
'-----------------------------------
Dim A As Long
With Range("_FilterDataBase")
A = .Cells(1, 1).Row
On Error Resume Next
With .SpecialCells(xlCellTypeVisible)
For Each r In .Rows
If r.Row <> A Then
r.Cells(1, 1).Select
exit for
End If
Next
End With
End With
'-----------------------------------
| Cette macro positionne également sur la ligne de titre:
| For Each c In Range("_FilterDataBase").SpecialCells(xlCellTypeVisible) | If c.Row <> 1 Then | c.Select | Exit For | End If | Next
Si la ligne d'étiquette du filtre auto ne se situe pas sur la première ligne de la feuille, il faut adapter la procédure de cette manière : '----------------------------------- Dim A As Long With Range("_FilterDataBase") A = .Cells(1, 1).Row On Error Resume Next With .SpecialCells(xlCellTypeVisible) For Each r In .Rows If r.Row <> A Then r.Cells(1, 1).Select exit for End If Next End With End With '-----------------------------------
Pascal
Merci à tous les 2.
J'ai appliqué la réponse de JB, c'est parfait ! -- PB
ligne = 2 Do While Range("_FilterDataBase").Rows(ligne).Hidden ligne = ligne + 1 Loop Range("_FilterDataBase").Cells(ligne, 1).Select
http://cjoint.com/?lronEKym0s
JB
Je n'utilise pas un filtre automatique mais un filtre élaboré avec filtrage sur place...
Cette macro ne fonctionne donc pas...
-- PB
Sur une plage filtré (filtre automatique)
For Each c In Range("_FilterDataBase").SpecialCells(xlCellTypeVisible) If c.Row <> 1 Then c.Select Exit For End If Next
"Pascal" a écrit dans le message de news:
Bonjour,
En VBA, après filtrage d'un tableau (code VBA déjà écrit) comment positionner la cellule active sur la première ligne filtrée ? -- PB
Merci à tous les 2.
J'ai appliqué la réponse de JB, c'est parfait !
--
PB
ligne = 2
Do While Range("_FilterDataBase").Rows(ligne).Hidden
ligne = ligne + 1
Loop
Range("_FilterDataBase").Cells(ligne, 1).Select
http://cjoint.com/?lronEKym0s
JB
Je n'utilise pas un filtre automatique mais un filtre élaboré avec filtrage
sur place...
Cette macro ne fonctionne donc pas...
--
PB
Sur une plage filtré (filtre automatique)
For Each c In Range("_FilterDataBase").SpecialCells(xlCellTypeVisible)
If c.Row <> 1 Then
c.Select
Exit For
End If
Next
"Pascal" <Pascal@discussions.microsoft.com> a écrit dans le message de news:
FD32B058-00AA-407F-ABBF-AB81932576BD@microsoft.com...
Bonjour,
En VBA, après filtrage d'un tableau (code VBA déjà écrit) comment
positionner la cellule active sur la première ligne filtrée ?
--
PB