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

compter nb lignes total d'une liste filtrée

1 réponse
Avatar
laurent colledani
bonjour

j'ai besoin de saisir une nouvelle ligne avec un userform dans une liste de
données qui est au départ filtrée

la nouvelle ligne doit être celle après le nombre total de lignes déjà
saisies, filtrées ou non. Or je n'arrive qu'à saisir une nouvelle ligne que
sur le N° de ligne qui suit le n° de la dernière ligne saisie qu'affiche
mon filtre

le vba que j'utilise (récupéré sur excellabo d'après un conseil sur ce
groupe de discution)est le suivant:

num = Sheets("suivi délai satisfaction").Range("A65536").End(xlUp).Row + 1
Sheets("suivi délai satisfaction").Activate
Range("A" & num).Value = "valeur de mon controle"


explication du VBA: ' on part du bas de la colonne, on cherche la première
cellule non vide avec end(xlup), on renvoie son N° avec row et on ajoute 1
pour avoir le numéro de la ligne d'en dessous

il me faudrait en fait une fonction me permettant de connaître le n° de
ligne ( n° 20) de la 1ère ligne vide après la dernière ligne ( n°9 )saisie
dans ma liste filtrée
A.B.C
1 a c f
5 g k k
9 g m m
20
21
23


merci d'avance

1 réponse

Avatar
anonymousA
bonjour,

tu peux retrouver le nombre de lignes totales qui te servent de plage de
base à ton filtre en écrivant l'instruction suivante

worksheets("nom de ta feuille").AutoFilter.Filters(1).Parent.Range.Rows.Count

à partir de là, pas de difficulté pour inscrire à la ligen suivante ton
information.

Bonne chance


bonjour

j'ai besoin de saisir une nouvelle ligne avec un userform dans une liste de
données qui est au départ filtrée

la nouvelle ligne doit être celle après le nombre total de lignes déjà
saisies, filtrées ou non. Or je n'arrive qu'à saisir une nouvelle ligne que
sur le N° de ligne qui suit le n° de la dernière ligne saisie qu'affiche
mon filtre

le vba que j'utilise (récupéré sur excellabo d'après un conseil sur ce
groupe de discution)est le suivant:

num = Sheets("suivi délai satisfaction").Range("A65536").End(xlUp).Row + 1
Sheets("suivi délai satisfaction").Activate
Range("A" & num).Value = "valeur de mon controle"


explication du VBA: ' on part du bas de la colonne, on cherche la première
cellule non vide avec end(xlup), on renvoie son N° avec row et on ajoute 1
pour avoir le numéro de la ligne d'en dessous

il me faudrait en fait une fonction me permettant de connaître le n° de
ligne ( n° 20) de la 1ère ligne vide après la dernière ligne ( n°9 )saisie
dans ma liste filtrée
A.B.C
1 a c f
5 g k k
9 g m m
20
21
23


merci d'avance