Avant dernière ligne visible

Chris401

XLDnaute Accro
Bonsoir à tous

Je récupère la dernière ligne visible d'un tableau filtré avec ce code
Code:
 ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
Mais je cherche à récupérer l'avant dernière ligne visible afin de copier certaines colonnes

Exemple dans fichier joint

Merci de votre aide
Cordialement
Chris
 

Pièces jointes

  • Fichier Chris.xlsm
    26.7 KB · Affichages: 31

gosselien

XLDnaute Barbatruc
Re : Avant dernière ligne visible

Hmmm hmmm pas certain que ça soit ce que tu demandes :)


Je dirais plutot que j'évite la dernière ligne (vide) pour ton code 332 tel que filtré à l'ouverture du fichier (pas de vba)

P.
 

Pièces jointes

  • Fichier Chris.xlsm
    28 KB · Affichages: 22

Chris401

XLDnaute Accro
Re : Avant dernière ligne visible

Re

Merci de ta proposition mais effectivement ce n'est pas ce que j'attends.
Il faut impérativement travailler dans le tableau actuel.

Je poste un autre fichier qui explique peut-être mieux mon attente.

Merci encore de ta participation

Chris
 

Pièces jointes

  • Fichier Chris.xlsm
    25.6 KB · Affichages: 29

CISCO

XLDnaute Barbatruc
Re : Avant dernière ligne visible

Bonsoir

Peut être avec le code suivant
Code:
Sub test()
Dim avtdernlig As Integer
Dim dernlig As Integer
Dim t As Boolean

dernlig = Range("A1").End(xlDown).Row
avtdernlig = dernlig
t = False

For i = dernlig To 1 Step -1
    If Rows(i).Hidden = True Then
    t = True
    ElseIf t Then
    avtdernlig = i
    i = 1
    End If
Next i

ActiveSheet.Range("F" & avtdernlig & ":H" & avtdernlig).Copy Range("F" & dernlig & ":H" & dernlig)

End Sub

@ plus
 
Dernière édition:

Chris401

XLDnaute Accro
Re : Avant dernière ligne visible

Re

Tu as tout à fait raison.
C'est une configuration rare, mais elle peut se produire.

Il faudrait trouver l'avant dernière ligne visible par rapport à la ligne active.

Edit : à priori, il suffit que :
Code:
dernlig = ActiveCell.Row

Chris
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Avant dernière ligne visible

Bonjour

J'ai un peu simplifié le code précédent, sur le post #6, valable que s'il ni a qu'une ligne visible en bas du tableau.

S'il y a plusieurs lignes visibles à la fin du tableau, ta proposition dernlig = ActiveCell.Row ne fonctionne que si on a sélectionné une des cellules de la dernière ligne, là où on veut faire le collage !!

Le code suivant semble fonctionner, avec deux variantes (Cf. commentaires dans le code)
Code:
Sub test()
Dim avtdernlig As Integer
Dim dernlig As Integer
Dim t As Boolean

dernlig = Range("A1").End(xlDown).Row

t = False
For i = dernlig To 1 Step -1
    
    'supprimer la ligne de code ci-dessous si on veut coller sur la dernière ligne visible du tableau
    'la laisser tel que, si on veut coller sur la première ligne visible en dessous du dernier groupe de lignes masquées
    If t = False Then dernlig = i
    If Rows(i).Hidden = True Then
    t = True
    ElseIf t Then
    avtdernlig = i
  
   'supprimer la ligne de code ci-dessous si on veut coller sur la dernière ligne visible du tableau
   'la laisser tel que, si on veut coller sur la première ligne visible en dessous du dernier groupe de lignes masquées
    dernlig = dernlig + 1
    i = 1
    End If
    
Next i

ActiveSheet.Range("F" & avtdernlig & ":H" & avtdernlig).Copy Range("F" & dernlig & ":H" & dernlig)
End Sub

@ plus
 

Chris401

XLDnaute Accro
Re : Avant dernière ligne visible

Bonjour CISCO

S'il y a plusieurs lignes visibles à la fin du tableau, ta proposition dernlig = ActiveCell.Row ne fonctionne que si on a sélectionné une des cellules de la dernière ligne, là où on veut faire le collage !!
C'est le cas puisque je filtre sur un double click dans la cellule B (cf le fichier du post #5)
J'ai testé ton dernier code et il me convient parfaitement

mapomme : merci de ton aide ; ton code fonctionne s'il n'y a pas d'autre lignes sous la ligne concernée.

Bonne journée à tous
Chris
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin