Sub Marquer()
'Mettre un "S" dans la colonne de son choix pour repérer les résultats du filtrage automatique en cours
'======================================================================================================
Dim Ctr As Long, LigneSup As Long, NumCol As String
On Error GoTo Erreur
'Définition de la colonne dans laquelle il faut porter le "S"
'------------------------------------------------------------
Def:
NumCol = InputBox("N° de la colonne (entre 1 et 257) dans laquelle il faut apporter la lettre 'S' pour repérer la sélection ?" _
& Chr(10) & Chr(10) & "Taper sur le bouton 'Annuler' si vous voulez abandonner le traitement", "Question", "")
If NumCol = "" Then MsgBox "ABANDON DU TRAITEMENT !": Exit Sub
If Not IsNumeric(NumCol) Then GoTo Def
If Val(NumCol) <= 1 Or Val(NumCol) > 256 Then GoTo Def
'Définition de la ligne la plus élevée en colonne A
'--------------------------------------------------
LigneSup = Range("A65536").End(xlUp).Row
'Mise en place des "S" pour les éléments sélectionnés
'----------------------------------------------------
For Ctr = 2 To LigneSup
'Si la ligne de numéro "Ctr" de la feuille active n'est pas cachée
If Not ActiveSheet.Rows(Ctr).Hidden Then Cells(Ctr, Val(NumCol)).Value = "S"
Next Ctr
Exit Sub
'Routine d'erreur
'----------------
Erreur:
MsgBox "UNE ERREUR A ETE DETECTEE DANS LE DEROULEMENT DE LA MACRO => ABANDON DU TRAITEMENT !"
End Sub