Menu

Trouver le numéro de la dernière colonne non masquée

Messages postés
91
Date d'inscription
samedi 22 octobre 2016
Statut
Membre
Dernière intervention
17 décembre 2018
- - Dernière réponse : cs_Le Pivert
Messages postés
6138
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 juillet 2019
- 17 déc. 2018 à 11:49
Bonjour à tous.
je ne trouve pas ma réponse, malgré mes recherches.

Après avoir masqué des colonnes par un filtre, je souhaite connaitre le N° de la dernière colonne non-masquée.

Je souhaite mélanger les deux bouts de programme suivant :

 derncol = ActiveSheet.Cells(14, Cells.Columns.Count).End(xlToLeft).Column

avec la condition
xlCellTypeVisible
sur la ligne 14 (qui, dans mes colonnes, n'est jamais vide)

Une idée ?
Merci de votre aide.

Looping
Afficher la suite 

1 réponse

Messages postés
6138
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 juillet 2019
373
0
Merci
Bonjour,

faire une boucle sur les colonnes

https://www.developpez.net/forums/d605223/logiciels/microsoft-office/excel/contribuez/boucles-parcourir-colonne-ligne-plage-donnees-2-methodes/

Sub For_X_to_Next_Colonne()
Dim FL1 As Worksheet, Cell As Range, NoCol As Integer
Dim NoLig As Long, Var As Variant
    Set FL1 = Worksheets("Feuil1")
    '(Voir explication sur l'utilisation de Split en bas de cette discussion)
    For NoCol = 1 To Columns(Split(FL1.UsedRange.Address, "$")(3)).Column
  If FL1.Columns(NoCol).Hidden = True Then
  MsgBox NoCol & " masquée"
  Else
  MsgBox NoCol & " visible"
  End If
    Next
    Set FL1 = Nothing
End Sub


a adapter à tes besoins
Looping38
Messages postés
91
Date d'inscription
samedi 22 octobre 2016
Statut
Membre
Dernière intervention
17 décembre 2018
1 -
Bonjour Le_Pivert et merci pour ce retour.
Ce code, si je comprends bien, me permet de dénombrer le nombre de colonnes visibles et non-visibles, et pas de connaitre la position de la dernière colonne visible.
cs_Le Pivert
Messages postés
6138
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 juillet 2019
373 -
Cet exemple était fait pour voir la marche à suivre.

Il faut l'adapter comme ceci:

Sub For_X_to_Next_Colonne()
Dim FL1 As Worksheet, Cell As Range, NoCol As Integer
Dim NoLig As Long, Var As Variant
Dim Max As Long
 Max = 0
    Set FL1 = Worksheets("Feuil1")
    '(Voir explication sur l'utilisation de Split en bas de cette discussion)
    For NoCol = 1 To Columns(Split(FL1.UsedRange.Address, "$")(3)).Column
  If FL1.Columns(NoCol).Hidden = True Then Max = NoCol
 Next
     MsgBox "Dernière colonne cachée : " & Max
    Set FL1 = Nothing
End Sub




voilà

@+
Commenter la réponse de cs_Le Pivert