Cette macro révèle les lignes et colonnes cachées dans toutes les feuilles d’un classeur.
L’utilisateur doit indiquer le classeur à traiter.
Sub MontrerTout()
'------------------------------------------------------------------------------------------------
'Procédure pour révéler toutes les lignes et colonnes cachées dans toutes les feuilles d'un classeur
'-l'utilisateur doit choisir le classeur à traiter
'-En fin de traitement le classeur traité reste ouvert
'Auteur : Excellons.org
'Date : juin 2019
'------------------------------------------------------------------------------------------------
Const cFilter = "Classeur EXCEL(*.xls*), *.xls*"
Dim oWB As Workbook
Dim oSheet As Worksheet
Dim sWBName As Variant
Dim sExtension As String
Dim sDecoupe() As String
'On demande à l'utilisateur d'indiquer le nom du classeur à traiter
sWBName = Application.GetOpenFilename(cFilter, 1, "Choisissez le classeur à traiter", , False)
'On s'assure que l'utilisateur n'a pas quitté la boite de dialogue sans indiquer de fichier. Sinon on met fin à l'opération.
If sWBName = False Then
MsgBox "Aucun classeur indiqué !" & vbCrLf & vbCrLf & "Opération sans objet.", vbCritical, "FIN D'OPERATION"
Exit Sub
End If
'On s'assure que l'utilisateur a indiqué un classeur EXCEL
sDecoupe() = Split(sWBName, ".") 'On découpe le nom en 2 pour récupérer son extension
'On s'assure que le fichier choisi possède une extension de classeur EXCEL. Sinon on met fin à l'opération.
If Left(sDecoupe(1), 3) <> "xls" Then
MsgBox "Le fichier indiqué ne semble pas être un classeur EXCEL !" & vbCrLf & vbCrLf & "Opération sans objet.", vbCritical, "FIN D'OPERATION"
Exit Sub
End If
'On active la séquence de gestion d'erreurs
On Error GoTo Gestion_Err
'On affecte l'objet local classeur
Set oWB = Application.Workbooks.Open(sWBName)
'On boucle sur toutes les feuilles du classeur
For Each oSheet In oWB.Worksheets
'On révèle toutes les lignes de la feuille
oSheet.Rows.EntireRow.Hidden = False
'On rend visible le contenu de toutes les lignes
oSheet.Rows.EntireRow.AutoFit
'On révèle toutes les colonnes de la feuille
oSheet.Columns.EntireColumn.Hidden = False
'On rend visible le contenu de toutes les colonnes
oSheet.Columns.EntireColumn.AutoFit
Next
'Séquence de fin de traitement
MsgBox "Les lignes et colonnes du classeur '" & sWBName & "' ont toutes été rélévées.", vbExclamation, "FIN D'OPERATION"
On Error GoTo 0 'On annule le branchement vers de gestion d'erreur
'On fait le ménage
Set oSheet = Nothing
Set oWB = Nothing
Exit Sub
'Séquence de traitement des erreurs
Gestion_Err:
Select Case Err
Case Else
MsgBox "La révélation de toutes les lignes et colonnes du classeur '" & sWBName & "' a rencontré l'erreur suivante :" & vbCrLf _
& Err & "-" & Err.Description, vbCritical, "IMPOSSIBLE DE POURSUIVRE LE TRAITEMENT"
End Select
'On fait le ménage
On Error GoTo 0 'On annule le branchement vers de gestion d'erreur
Set oSheet = Nothing
Set oWB = Nothing
End Sub