Désignation d'une cellule

comment faire la distinction entre:

la cellule de la feuille située immédiatement au-dessous de la cellule active

et

la cellule affichée placée immédiatement au-dessous de ladite feuille active?

Bonsoir et Bonne Année !

Je dois dire que je suis perdu ...

Toutes ces histoires de cellules de feuille et d'active...

Merci de reformuler (pour moi) votre question.

@ bientôt

LouReeD

Bonsoir corre, LouReeD !

Si tu souhaites simplement NAVIGUER vers la cellule au-dessous ou au-dessus de la cellule active(sélectionnée), utilise :

Sub cellmoins1()

ActiveCell.Offset(-1, 0).Select

End Sub

Sub cellplus1()

ActiveCell.Offset(1, 0).Select

End Sub

La première pour -1 ligne, la seconde pour +1. Pas besoin de spécifier la feuille active puisque là on agit sur la cellule active (donc indirectement, forcément sur la feuille active)

Si tu souhaites utiliser la cellule du dessus ou du dessous dans une ligne de code, utilise

Range("A1").Celloffset(x, 0)

Où "A1" est la cellule que tu souhaites (désignée ou imposée par le code) ; "x" est le nombre de lignes de différence avec celle de "A1".

J'essaie d'être plus précis,

Sur ma feuille de calcul, des lignes sont affichées, d'autres masquées.

A partir d'une cellule active, je sais désigner la cellule immédiatement en dessous, qu'elle soit affichée ou non, mais je n'arrive pas à désigner la cellule affichée immédiatement sous la cellule active, ces deux cellules étant séparées par plusieurs lignes masquées.

J'espère être plus clair, merci.

Bonsoir,

Un test :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
i = 1
Do
If ActiveSheet.Cells(Target.Row + i, Target.Column).EntireRow.Hidden = False Then 'si la cellule est visible on l'active et on stop la boucle
    ActiveSheet.Cells(Target.Row + i, Target.Column).Activate ' activation de la cellule
    Exit Do ' stop de la boucle
End If
i = i + 1 'une ligne de plus pour les test suivant
Loop
End Sub

@ bientôt

LouReeD

Bonjour, Salut à tous,

Essaye l'un de ces codes pour sélectionner une cellule visible au-dessous de la cellule active :

Sub test()
    ActiveCell.Offset(1, 0).Select
    Do Until ActiveCell.Height <> 0
        ActiveCell.Offset(1, 0).Select
    Loop
End Sub
Sub test()
    Do
        ActiveCell.Offset(1, 0).Select
    Loop While ActiveCell.EntireRow.Hidden = True
End Sub
Rechercher des sujets similaires à "designation"