VBA - trouver derniere colonne masquée

  • Initiateur de la discussion Initiateur de la discussion clementcazi
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

clementcazi

Guest
Bonjour à tous,

je galère depuis pas mal de temps, à chercher sur différent forum, mais ne trouve rien.

Je cherche à connaitre la valeur de la derniere colonne masquée dans un tableau.

Exemple : si les colonnes de A à K sont masquées, afficher la valeur de la colonne K (11).

Merci d'avance.
 
Re : VBA - trouver derniere colonne masquée

Bonjour,

Peut-être

Code:
Sub test()
Dim i As Long
For i = ActiveSheet.Columns.Count To 1 Step -1
    If Columns(i).Hidden Then
        MsgBox Cells(11, i).Value
        Exit For
    End If
Next i
End Sub

On y est presque, je viens de tester le code.
Le msgbox n'affiche par contre que la valeur de la cellule, mais pas la où est situé la cellule. C'est a dire, en vba la colonne A équivaut à 1...K équivaut à 11. je voudrais que msgbox m'affiche cette valeur.

Merci beaucoup pour ce que tu as déjà fait.
 
Re : VBA - trouver derniere colonne masquée

Bonjour clementcazi, tototiti2008,

Une autre variante. Fonctionne sur une plage de cellules sélectionnées au préalable.

VB:
Sub NoColonneCachee()
' Affiche le numéro de la dernière colonne cachée poue une plage
' de cellules sélectionnées

    Dim rg As Range
    Dim i As Long, j As Long, n As Long
    Dim Max As Long
    
    Set rg = Selection
    i = rg.Cells(1, 1).Column
    j = rg.Cells(1, rg.Columns.Count).Column

    Max = 0
    For n = i To j
        If Columns(n).Hidden Then Max = n
    Next n
    MsgBox "Dernière colonne cachée : " & Max

End Sub

A+
 
Re : VBA - trouver derniere colonne masquée

Bonjour GrandChaman,
Re,




Code:
MsgBox "Colonne " & i & " : " & Cells(11, i).Value


Je me suis peut etre mal exprimé. Je chercher la position de la derniere colonne masqué (en vba ça marche en L1C1). La fonction que tu me prospose tototiti2008, ça me donne la valeur qu'il y aura dans la derniere colonne masquée de la ligne 11, et non pas la position de la colonne.

Grandcharman, je crois que ton code marche mais il me parait plus compliqué que celui de tototiti2008. Il ne marche pas par contre s'il n'y a pas de texte dans les colonnes masquées.

Cordialement,
 
Re : VBA - trouver derniere colonne masquée

Bonjour.

peut-être toit simplement :
VB:
 Sub masq()

 Dim i As Long
 For i = ActiveSheet.Columns.Count To 1 Step -1
     If Columns(i).Hidden Then
         MsgBox (i)
         Exit For
     End If
 Next i
 End Sub
... Merci, tototiti 🙂
 
Re : VBA - trouver derniere colonne masquée

Re,

Et pour connaitre la référence littérale de la dernière colonne masquée :
VB:
 Sub masq1()

 Dim i As Long
 For i = ActiveSheet.Columns.Count To 1 Step -1
     If Columns(i).Hidden Then
         Columns(i).Select
         MsgBox ("colonne " & Split(ActiveCell.Address, "$")(1))
         Exit For
     End If
 Next i
 End Sub
...Merci Ce lien n'existe plus 🙂
 
Dernière édition:
Re : VBA - trouver derniere colonne masquée

salut tous

pour éviter le Exit For, un autre type de boucle

Code:
Sub masq()
  Dim n As Long
  n = Me.Columns.Count
  Do Until Columns(n).Hidden: n = n - 1: Loop
  MsgBox Split(Columns(n).Address, "$")(2), vbInformation, "Dernière colonne cachée"
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
281
  • Question Question
Microsoft 365 Tableau
Réponses
5
Affichages
288
Retour