Private Sub CommandButton1_Click()
'Si le bouton affiche "Masquer"
If CommandButton1.Caption = "Masquer" Then
'Trouver le numéro de la dernière colonne utilisée
DerCol = Sheets("Feuil1").Range("IV3").End(xlToLeft).Column
'Récupérer la lettre de la dernière colonne (Wally)
sAdr = Cells(1, DerCol).Address(1, 0)
DercolAlpha = Mid(sAdr, 1, InStr(1, sAdr, "$") - 1)
'Trouver de droite à gauche le numéro de colonne de début de plage à conserver
For i = 3 To DerCol
If Cells(3, i).Value = Sheets("Feuil1").Range("A3").Value Then
'Récupérer la lettre de cette colonne (Wally)
sAdr = Cells(1, i - 1).Address(1, 0)
ColDebut = Mid(sAdr, 1, InStr(1, sAdr, "$") - 1)
End If
Next i
'Trouver de gauche à gauche le numéro de colonne de fin de plage à conserver
For j = DerCol To 3 Step -1
If Cells(3, j).Value = Sheets("Feuil1").Range("B3").Value Then
'Récupérer la lettre de cette colonne (Wally)
sAdr = Cells(1, j + 1).Address(1, 0)
ColFin = Mid(sAdr, 1, InStr(1, sAdr, "$") - 1)
End If
Next j
'Masquer toute les colonnes de C à la dernière utilisée
Columns("C:" & DercolAlpha).EntireColumn.Hidden = True
'Afficher la plage de colonnes à conserver
Columns(ColDebut & ":" & ColFin).EntireColumn.Hidden = False
'Changer l'affichage du bouton
CommandButton1.Caption = "Afficher"
'Si le bouton n'affiche pas "Masquer"
Else
'Afficher toutes les colonnes
Cells.EntireColumn.Hidden = False
'Changer l'affichage du bouton
CommandButton1.Caption = "Masquer"
End If
End Sub