Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Sélection première cellule ?

6 réponses
Avatar
gégé
Salut à tous,

Voilà, j'ai une feuille qui récapitule des données,
je passe en mode filtre et j'aimerais savoir comment faire
avec une macro pour sélectionner la première cellule du tableau (ex. $A$15,
les autres étant filtrées)
comme par exemple au clavier "Ctrl + Origine" qui fonctionne mais lors d'un
enregistrement macro
indique seulement "Range("A15").Select.

J'ai essayé Sendkeys (+{home}) ==> Rien ??

Qqu'un a-t'il une idée (de génie !)

Merci d'avance

Gg

6 réponses

Avatar
isabelle
bonjour Gg,

Sub PremLigne_filtreAuto()
Dim PremLigne As Long, DerLigne As Long
With Sheets("Feuil1").AutoFilter.Range.SpecialCells(xlCellTypeVisible)
If .Areas(1).Rows.Count > 1 Then PremLigne = .Rows(2).Row _
Else PremLigne = .Areas(2).Row
'au cas ou
DerLigne = .Areas(.Areas.Count)(.Areas(.Areas.Count).Count).Row
' MsgBox "Première ligne visible : " & PremLigne
' MsgBox "Dernière ligne visible : " & DerLigne
End With
Range("A" & PremLigne).Select
End Sub

isabelle


Salut à tous,

Voilà, j'ai une feuille qui récapitule des données,
je passe en mode filtre et j'aimerais savoir comment faire
avec une macro pour sélectionner la première cellule du tableau (ex. $A$15,
les autres étant filtrées)
comme par exemple au clavier "Ctrl + Origine" qui fonctionne mais lors d'un
enregistrement macro
indique seulement "Range("A15").Select.

J'ai essayé Sendkeys (+{home}) ==> Rien ??

Qqu'un a-t'il une idée (de génie !)

Merci d'avance

Gg





Avatar
gégé
Bonjour Isa, (je peux ?)

merci pour ce code, je le lis mais
sans tout comprendre !!! ???

Je m'en vais le copier et le coller demain
ehhh voir si il (le code) va faire l'effet souhaité !

Encore merci, je te tiens au parfum.

Cordialement.

Gg
Avatar
anonymousA
bonjour,

le code suivant selectionne la 1ere ligne de la plage filtrée.Ne pas
changer surtout Range("_FilterDatabase") car c'est le nom qu'Excel donne
toujours à une plage soumise à filtre.

On Error Resume Next
With Range("_FilterDatabase")

.Offset(1, 0).Resize(.Rows.Count - 1,
.Columns.Count).SpecialCells(xlCellTypeVisible).Areas(1).Rows(1).Select

End With

le on error resume next est là pour eviter que s'il n'y a pas de
cellules visibles , ca ne se plante.

A+


Salut à tous,

Voilà, j'ai une feuille qui récapitule des données,
je passe en mode filtre et j'aimerais savoir comment faire
avec une macro pour sélectionner la première cellule du tableau (ex. $A$15,
les autres étant filtrées)
comme par exemple au clavier "Ctrl + Origine" qui fonctionne mais lors d'un
enregistrement macro
indique seulement "Range("A15").Select.

J'ai essayé Sendkeys (+{home}) ==> Rien ??

Qqu'un a-t'il une idée (de génie !)

Merci d'avance

Gg





Avatar
isabelle
Bonjour Isa, (je peux ?)


mais oui ;-)

merci pour ce code, je le lis mais
sans tout comprendre !!! ???


sur une plage filtrée si la ligne 2 est visible,
.Areas(1).Rows.Count sera égal à 2
la ligne de titre n'est pas pris en compte
donc automatiquement la première ligne sera la ligne 2
PremLigne = .Rows(2).Row

mais si la ligne 2 est masquer
.Areas(1).Rows.Count = 1
la ligne de titre est pris en compte
donc la première ligne du filtre doit être le deuxième item de la plage
Range.SpecialCells(xlCellTypeVisible)
PremLigne = .Areas(2).Row

bonne chance
isabelle

Avatar
jps
bien sûr, gégé, que tu peux, le "belle" c'est pour son copain de sherbrooke,
un certain garou
jps

"gégé" a écrit dans le message de
news:4241d97c$0$5088$
Bonjour Isa, (je peux ?)



Avatar
isabelle
:-)))))
il va vous fiche la paix pour au moin un an, il revient à la maison.

isabelle


bien sûr, gégé, que tu peux, le "belle" c'est pour son copain de sherbrooke,
un certain garou
jps

"gégé" a écrit dans le message de
news:4241d97c$0$5088$

Bonjour Isa, (je peux ?)