Masquer une feuille
Résolu
Yoyo01000
Messages postés
1720
Statut
Membre
-
Yoyo01000 Messages postés 1720 Statut Membre -
Yoyo01000 Messages postés 1720 Statut Membre -
Bonjour,
Je rencontre un problème avec un UserForm, lorsque j'appuie sur le CommandButton "Valider".
Le code est censé m'afficher la feuille "VIERGE", la copier-coller dans un nouvel onglet.
=> à ce sujet : aucun problème
Tout mon code fonctionne parfaitement mais à la fin de celui-ci, je demande de masquer la feuille "VIERGE" et c'est là que ça coince !
Malgré plusieurs tentatives, quitte même à passer par l'enregistreur de macro, impossible de masquer cette feuille et vraiment je ne trouve pas pourquoi !
Voici une partie du code :
Je rencontre un problème avec un UserForm, lorsque j'appuie sur le CommandButton "Valider".
Le code est censé m'afficher la feuille "VIERGE", la copier-coller dans un nouvel onglet.
=> à ce sujet : aucun problème
Tout mon code fonctionne parfaitement mais à la fin de celui-ci, je demande de masquer la feuille "VIERGE" et c'est là que ça coince !
Malgré plusieurs tentatives, quitte même à passer par l'enregistreur de macro, impossible de masquer cette feuille et vraiment je ne trouve pas pourquoi !
Voici une partie du code :
Private Sub CommandButton_Valider_Click()
code
'Affichage de la feuille "VIERGE"
Sheets("VIERGE").Visible = True
'On copie une fiche vierge
With Sheets("VIERGE").Select
Cells.Select
Application.CutCopyMode = False
Selection.Copy
'Sélection du dernier onglet à droite
Sheets(Sheets.count).Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveSheet.Paste
ActiveWindow.Zoom = 70
Range("C2").Select
Application.CutCopyMode = False
code
'Masquer la feuille "VIERGE"
Sheets("VIERGE").Select
ActiveWindow.SelectedSheets.Visible = False
'Sélection de la dernière feuille de droite
Sheets(Sheets.count).Select
End Sub
Configuration: Windows / Chrome 85.0.4183.121
A voir également:
- Masquer une feuille
- Masquer une conversation whatsapp - Guide
- Bruler feuille de laurier - Guide
- Comment supprimer une feuille sur word - Guide
- Comment imprimer en a5 sur une feuille a4 - Guide
- Feuille de pointage excel - Télécharger - Tableur
5 réponses
Bonjour,
J'ai testé et la feuille se masque bien.
Cela étant, à toutes fins utiles, il n'est pas nécessaire de la sélectionner pour la masquer :
est suffisant.
m@rina
J'ai testé et la feuille se masque bien.
Cela étant, à toutes fins utiles, il n'est pas nécessaire de la sélectionner pour la masquer :
ActiveWorkbook.Sheets("VIERGE").Visible = False
est suffisant.
m@rina
Bonjour,
J'avais pensé que partager mon fichier n'était pas utile, désolé.
En plus de la réponse de m@rina que je salue, je ne vous avais pas demandé le fichier, simplement que le fait de ne connaître sa structure, je ne pouvais pas en dire plus, mais que le problème se situait entre les 2 parties de code citées et vous encourageait à chercher dans cette zone en faisant du pas à pas.
J'ai fait tourner l'application, 2 fois,
la première en remplissant le formulaire, après validation tout est OK.
la deuxième en ne remplissant pas les zones, là aussi après validation tout est OK
Le seul moment ou l'on ne cache pas la feuille, c'est si les 3 combobox en fond de formulaire ne sont pas remplies, mais dans ce cas, on ne ferme pas le formulaire tant que ce n'est pas totalement rempli.
Donc tout est bon.
Revoici le code légèrement modifié, qui respecte l'indentation et certains "End If" inutiles supprimés
Question: Quelles manoeuvres faites-vous pour que cela ne marche pas?
Cdlt
J'avais pensé que partager mon fichier n'était pas utile, désolé.
En plus de la réponse de m@rina que je salue, je ne vous avais pas demandé le fichier, simplement que le fait de ne connaître sa structure, je ne pouvais pas en dire plus, mais que le problème se situait entre les 2 parties de code citées et vous encourageait à chercher dans cette zone en faisant du pas à pas.
J'ai fait tourner l'application, 2 fois,
la première en remplissant le formulaire, après validation tout est OK.
la deuxième en ne remplissant pas les zones, là aussi après validation tout est OK
Le seul moment ou l'on ne cache pas la feuille, c'est si les 3 combobox en fond de formulaire ne sont pas remplies, mais dans ce cas, on ne ferme pas le formulaire tant que ce n'est pas totalement rempli.
'Insertion du résultat des 3 calculs :
<gras>If ComboBox_C1.Value = "" And ComboBox_C2.Value = "" And ComboBox_C3.Value = "" Then
Exit Sub</gras>
Donc tout est bon.
Revoici le code légèrement modifié, qui respecte l'indentation et certains "End If" inutiles supprimés
Private Sub CommandButton_Valider_Click()
'Générer une fiche avec son n° d'ID
Dim feuille As String
'Nom de l'onglet
feuille = Me.TextBox_N°ICP.Text & "-ST" & Me.ComboBox_ST.Value
'On met en marche la gestion des erreurs
On Error Resume Next
'On active la feuille générée
Sheets(feuille).Activate
If Err > 1 Then ' la feuille n'existe pas on la crée
Sheets.Add after:=Sheets(Sheets.count)
ActiveSheet.Name = feuille
'Elle existe
Else
'On la supprime
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
'On en crée une nouvelle qui porte le nom choisi
Sheets.Add after:=Sheets(Sheets.count)
ActiveSheet.Name = feuille
End If
' on arrête la gestion des erreurs
On Error GoTo 0
'Affichage de la feuille "VIERGE"
Sheets("VIERGE").Visible = True
'On copie une fiche vierge
With Sheets("VIERGE").Select
Cells.Copy
'Sélection du dernier onglet à droite
Sheets(Sheets.count).Select
Range("A1").PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
ActiveSheet.Paste
ActiveWindow.Zoom = 70
'Suppression du quadrillage,de la barre de formule et de la barre d'en-tête :
ActiveWindow.DisplayGridlines = False
ActiveWindow.DisplayHeadings = False
Application.DisplayFormulaBar = False
End With
'Insertion de l'auteur :
If ComboBox_Noms_Prénoms.Value = "" Then
MsgBox "Champ [Auteur] obligatoire", vbExclamation
ComboBox_Noms_Prénoms.BackColor = RGB(255, 97, 97)
Else
Range("E4").Value = ComboBox_Noms_Prénoms.Value
End If
'Insertion de la date :
If TextBox_Date.Value = "" Then
MsgBox "Champ [Date] au format 00/00/0000 obligatoire", vbExclamation
TextBox_Date.BackColor = RGB(255, 97, 97)
Else
Range("P4").Value = TextBox_Date.Value
End If
'Insertion du numéro d'ID Bottom Up
If TextBox_N°ICP.Value = "" Then
MsgBox "Champ [ID B-U] obligatoire", vbExclamation
TextBox_N°ICP.BackColor = RGB(255, 97, 97)
Else
Range("W4").Value = TextBox_N°ICP.Value
End If
'Insertion du n° de ST :
If ComboBox_ST.Value = "" Then
MsgBox "N° de la Small Team non renseigné", vbExclamation
ComboBox_ST.BackColor = RGB(255, 97, 97)
Else
Range("Q6").Value = ComboBox_ST.Value
End If
'Insertion de la déscription de l'ICP :
If TextBox_Déscription_ICP.Value = "" Then
MsgBox "Champ [Déscription de l'ICP] obligatoire", vbExclamation
TextBox_Déscription_ICP.BackColor = RGB(255, 97, 97)
Else
Range("B8").Value = TextBox_Déscription_ICP.Value
End If
'Insertion du résultat escompté :
If OptionButton_Sécurité_Ergonomie = False And OptionButton_Coût = False And OptionButton_Qualité = False And OptionButton_Délai = False And OptionButton_Environnement = False And OptionButton_Propreté_Rangement = False Then
MsgBox "Bouton du résultat escompté non coché", vbExclamation
OptionButton_Sécurité_Ergonomie.BackColor = RGB(255, 97, 97)
OptionButton_Coût.BackColor = RGB(255, 97, 97)
OptionButton_Qualité.BackColor = RGB(255, 97, 97)
OptionButton_Délai.BackColor = RGB(255, 97, 97)
OptionButton_Environnement.BackColor = RGB(255, 97, 97)
OptionButton_Propreté_Rangement.BackColor = RGB(255, 97, 97)
Else
If OptionButton_Sécurité_Ergonomie = True Then Range("B18").Value = "Sécurité - Ergonomie"
End If
If OptionButton_Coût = True Then Range("B18").Value = "Coût"
If OptionButton_Qualité = True Then Range("B18").Value = "Qualité"
If OptionButton_Délai = True Then Range("B18").Value = "Délai"
If OptionButton_Environnement = True Then Range("B18").Value = "Environnement"
If OptionButton_Propreté_Rangement = True Then Range("B18").Value = "Propreté - Rangement"
'Insertion de la solution proposée
If TextBox_Solution_Proposée <> "" Then Range("B21").Value = TextBox_Solution_Proposée.Value
'Insertion de la validation
If CheckBox_OUI = True Then
Range("G30").Value = "X"
ElseIf CheckBox_NON = True Then Range("L30").Value = "X"
End If
If CheckBox_OUI = True And CheckBox_NON = True Then MsgBox "L'accord est soit OUI soit NON", vbExclamation
If CheckBox_OUI = False And CheckBox_NON = False Then
MsgBox "Champ [Accord] non renseigné", vbExclamation
CheckBox_OUI.BackColor = RGB(255, 97, 97)
CheckBox_NON.BackColor = RGB(255, 97, 97)
Else
If CheckBox_NON = True And TextBox_NON_Pourquoi.Value = "" And CheckBox_OUI = False Then
MsgBox "Merci de remplir le pourquoi du refus de l'ICP", vbExclamation
TextBox_NON_Pourquoi.BackColor = RGB(255, 97, 97)
End If
End If
If TextBox_NON_Pourquoi <> "" Then Range("E31").Value = TextBox_NON_Pourquoi.Value
'Insertion de la date
If ComboBox_day.Value = "" And ComboBox_month.Value = "" Then
MsgBox "merci de remplir la date de prise en compte de l'accord ou du refus", vbExclamation
ComboBox_day.BackColor = RGB(255, 97, 97)
ComboBox_month.BackColor = RGB(255, 97, 97)
Else
Range("S29").Value = ComboBox_day.Value
Range("V29").Value = ComboBox_month.Value
Range("X29").Value = TextBox_year
End If
'Insertion du calcul 1
If ComboBox_C1.Value <> "" And ComboBox_C2 = "" And ComboBox_C3 = "" Then
MsgBox "Points des calculs 2 & 3 non renseignés", vbExclamation
ComboBox_C2.BackColor = RGB(255, 97, 97)
ComboBox_C3.BackColor = RGB(255, 97, 97)
Else
Range("H33").Value = ComboBox_C1.Value
End If
'insertion du calcul 2
If ComboBox_C2.Value <> "" And ComboBox_C1.Value = "" And ComboBox_C3.Value = "" Then
MsgBox "Points des calculs 1 & 3 non renseignés", vbExclamation
ComboBox_C1.BackColor = RGB(255, 97, 97)
ComboBox_C3.BackColor = RGB(255, 97, 97)
Else
Range("K33").Value = ComboBox_C2.Value
End If
'Insertion du calcul 3
If ComboBox_C3.Value <> "" And ComboBox_C1.Value = "" And ComboBox_C2.Value = "" Then
MsgBox "Points des calculs 1 & 2 non renseignés", vbExclamation
ComboBox_C1.BackColor = RGB(255, 97, 97)
ComboBox_C2.BackColor = RGB(255, 97, 97)
Else
Range("N33").Value = ComboBox_C3.Value
End If
'Insertion du résultat des 3 calculs :
If ComboBox_C1.Value = "" And ComboBox_C2.Value = "" And ComboBox_C3.Value = "" Then
Exit Sub
Else
If ComboBox_C1.Value <> "0" And ComboBox_C2.Value <> "0" And ComboBox_C3.Value <> "0" Then
Range("Q33").Value = ComboBox_C1.Value * ComboBox_C2.Value * ComboBox_C3.Value
ElseIf ComboBox_C1.Value = "0" And ComboBox_C2.Value <> "0" And ComboBox_C3.Value <> "0" Then Range("Q33").Value = ComboBox_C2.Value * ComboBox_C3.Value
End If
End If
'Masquer la feuille "VIERGE"
Sheets("VIERGE").SelectedSheets.Visible = False
'Sélection de la dernière feuille de droite
Sheets(Sheets.count).Select
Unload Me
'UsF_ICP.Show
End Sub
Question: Quelles manoeuvres faites-vous pour que cela ne marche pas?
Cdlt
Jamais je n'aurais pensé que si les ComboBox_C1/C2/C3 n'étaient pas remplies, que la feuille "VIERGE" ne se masque pas !
Tu m'as éclairé Frenchie83 et j'ai donc remarqué cet
J'ai donc modifié le code ainsi :
Un truc tout bête qui m'a fait faire perdre votre temps !
Merci à toi aussi Marina
Tu m'as éclairé Frenchie83 et j'ai donc remarqué cet
Exit Subsi ces 3 ComboBox n'étaient pas remplies !
J'ai donc modifié le code ainsi :
'Insertion du résultat des 3 calculs :
If ComboBox_C1.Value = "" And _
ComboBox_C2.Value = "" And _
ComboBox_C3.Value = "" Then
ActiveWorkbook.Sheets("VIERGE").Visible = False
'Exit Sub
Un truc tout bête qui m'a fait faire perdre votre temps !
Merci à toi aussi Marina
Bonjour,
J'ai placé un "End With" manquant pour faire le test et la feuille "VIERGE" se masque bien.
Où l'avez-vous placé ce fameux "End With"? C'est peut-être là votre problème.
Autre chose, votre bouton s'appelle "Valider", alors pourquoi "Private Sub CommandButton_Valider_Click" au lieu de "Private Sub Valider_Click()"?
Cdlt
J'ai placé un "End With" manquant pour faire le test et la feuille "VIERGE" se masque bien.
Où l'avez-vous placé ce fameux "End With"? C'est peut-être là votre problème.
Autre chose, votre bouton s'appelle "Valider", alors pourquoi "Private Sub CommandButton_Valider_Click" au lieu de "Private Sub Valider_Click()"?
Cdlt
Bonjour,
je mets le code entier, rattaché au CommandButton (c'est moi qui l'ai renommé en CommandButton_Valider)
Le End With est en ligne #50 :
je mets le code entier, rattaché au CommandButton (c'est moi qui l'ai renommé en CommandButton_Valider)
Le End With est en ligne #50 :
Private Sub CommandButton_Valider_Click()
'Générer une fiche avec son n° d'ID
Dim feuille As String
'Nom de l'onglet
feuille = Me.TextBox_N°ICP.Text & "-ST" & Me.ComboBox_ST.Value
'On met en marche la gestion des erreurs
On Error Resume Next
'On active la feuille générée
Sheets(feuille).Activate
If Err > 1 Then ' la feuille n'existe pas on la crée
Sheets.Add after:=Sheets(Sheets.count)
ActiveSheet.Name = feuille
'Elle existe
Else
'On la supprime
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
'On en crée une nouvelle qui porte le nom choisi
Sheets.Add after:=Sheets(Sheets.count)
ActiveSheet.Name = feuille
End If
' on arrête la gestion des erreurs
On Error GoTo 0
'Affichage de la feuille "VIERGE"
Sheets("VIERGE").Visible = True
'On copie une fiche vierge
With Sheets("VIERGE").Select
Cells.Select
Application.CutCopyMode = False
Selection.Copy
'Sélection du dernier onglet à droite
Sheets(Sheets.count).Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveSheet.Paste
ActiveWindow.Zoom = 70
Range("C2").Select
Application.CutCopyMode = False
'Suppression du quadrillage,de la barre de formule et de la barre d'en-tête :
ActiveWindow.DisplayGridlines = False
ActiveWindow.DisplayHeadings = False
Application.DisplayFormulaBar = False
End With
'Insertion de l'auteur :
If ComboBox_Noms_Prénoms.Value = "" Then
MsgBox "Champ [Auteur] obligatoire", vbExclamation
ComboBox_Noms_Prénoms.BackColor = RGB(255, 97, 97)
Else
Range("E4").Value = ComboBox_Noms_Prénoms.Value
End If
'Insertion de la date :
If TextBox_Date.Value = "" Then
MsgBox "Champ [Date] au format 00/00/0000 obligatoire", vbExclamation
TextBox_Date.BackColor = RGB(255, 97, 97)
Else
Range("P4").Value = TextBox_Date.Value
End If
'Insertion du numéro d'ID Bottom Up
If TextBox_N°ICP.Value = "" Then
MsgBox "Champ [ID B-U] obligatoire", vbExclamation
TextBox_N°ICP.BackColor = RGB(255, 97, 97)
Else
Range("W4").Value = TextBox_N°ICP.Value
End If
'Insertion du n° de ST :
If ComboBox_ST.Value = "" Then
MsgBox "N° de la Small Team non renseigné", vbExclamation
ComboBox_ST.BackColor = RGB(255, 97, 97)
Else
Range("Q6").Value = ComboBox_ST.Value
End If
'Insertion de la déscription de l'ICP :
If TextBox_Déscription_ICP.Value = "" Then
MsgBox "Champ [Déscription de l'ICP] obligatoire", vbExclamation
TextBox_Déscription_ICP.BackColor = RGB(255, 97, 97)
Else
Range("B8").Value = TextBox_Déscription_ICP.Value
End If
'Insertion du résultat escompté :
If OptionButton_Sécurité_Ergonomie = False And _
OptionButton_Coût = False And _
OptionButton_Qualité = False And _
OptionButton_Délai = False And _
OptionButton_Environnement = False And _
OptionButton_Propreté_Rangement = False Then
MsgBox "Bouton du résultat escompté non coché", vbExclamation
OptionButton_Sécurité_Ergonomie.BackColor = RGB(255, 97, 97)
OptionButton_Coût.BackColor = RGB(255, 97, 97)
OptionButton_Qualité.BackColor = RGB(255, 97, 97)
OptionButton_Délai.BackColor = RGB(255, 97, 97)
OptionButton_Environnement.BackColor = RGB(255, 97, 97)
OptionButton_Propreté_Rangement.BackColor = RGB(255, 97, 97)
Else
If OptionButton_Sécurité_Ergonomie = True Then
Range("B18").Value = "Sécurité - Ergonomie"
End If
If OptionButton_Coût = True Then
Range("B18").Value = "Coût"
End If
If OptionButton_Qualité = True Then
Range("B18").Value = "Qualité"
End If
If OptionButton_Délai = True Then
Range("B18").Value = "Délai"
End If
If OptionButton_Environnement = True Then
Range("B18").Value = "Environnement"
End If
If OptionButton_Propreté_Rangement = True Then
Range("B18").Value = "Propreté - Rangement"
End If
End If
'Insertion de la solution proposée
If TextBox_Solution_Proposée <> "" Then
Range("B21").Value = TextBox_Solution_Proposée.Value
End If
'Insertion de la validation
If CheckBox_OUI = True Then
Range("G30").Value = "X"
End If
If CheckBox_NON = True Then
Range("L30").Value = "X"
End If
If CheckBox_OUI = True And _
CheckBox_NON = True Then
MsgBox "L'accord est soit OUI soit NON", vbExclamation
End If
If CheckBox_OUI = False And _
CheckBox_NON = False Then
MsgBox "Champ [Accord] non renseigné", vbExclamation
CheckBox_OUI.BackColor = RGB(255, 97, 97)
CheckBox_NON.BackColor = RGB(255, 97, 97)
Else
If CheckBox_NON = True And _
TextBox_NON_Pourquoi.Value = "" And _
CheckBox_OUI = False Then
MsgBox "Merci de remplir le pourquoi du refus de l'ICP", vbExclamation
TextBox_NON_Pourquoi.BackColor = RGB(255, 97, 97)
End If
End If
If TextBox_NON_Pourquoi <> "" Then
Range("E31").Value = TextBox_NON_Pourquoi.Value
End If
'Insertion de la date
If ComboBox_day.Value = "" And _
ComboBox_month.Value = "" Then
MsgBox "merci de remplir la date de prise en compte de l'accord ou du refus", vbExclamation
ComboBox_day.BackColor = RGB(255, 97, 97)
ComboBox_month.BackColor = RGB(255, 97, 97)
Else
Range("S29").Value = ComboBox_day.Value
Range("V29").Value = ComboBox_month.Value
Range("X29").Value = TextBox_year
End If
'Insertion du calcul 1
If ComboBox_C1.Value <> "" And _
ComboBox_C2 = "" And _
ComboBox_C3 = "" Then
MsgBox "Points des calculs 2 & 3 non renseignés", vbExclamation
ComboBox_C2.BackColor = RGB(255, 97, 97)
ComboBox_C3.BackColor = RGB(255, 97, 97)
Else
Range("H33").Value = ComboBox_C1.Value
End If
'insertion du calcul 2
If ComboBox_C2.Value <> "" And _
ComboBox_C1.Value = "" And _
ComboBox_C3.Value = "" Then
MsgBox "Points des calculs 1 & 3 non renseignés", vbExclamation
ComboBox_C1.BackColor = RGB(255, 97, 97)
ComboBox_C3.BackColor = RGB(255, 97, 97)
Else
Range("K33").Value = ComboBox_C2.Value
End If
'Insertion du calcul 3
If ComboBox_C3.Value <> "" And _
ComboBox_C1.Value = "" And _
ComboBox_C2.Value = "" Then
MsgBox "Points des calculs 1 & 2 non renseignés", vbExclamation
ComboBox_C1.BackColor = RGB(255, 97, 97)
ComboBox_C2.BackColor = RGB(255, 97, 97)
Else
Range("N33").Value = ComboBox_C3.Value
End If
'Insertion du résultat des 3 calculs :
If ComboBox_C1.Value = "" And _
ComboBox_C2.Value = "" And _
ComboBox_C3.Value = "" Then
Exit Sub
Else
If ComboBox_C1.Value <> "0" And _
ComboBox_C2.Value <> "0" And _
ComboBox_C3.Value <> "0" Then
Range("Q33").Value = ComboBox_C1.Value * _
ComboBox_C2.Value * _
ComboBox_C3.Value
Else
If ComboBox_C1.Value = "0" And _
ComboBox_C2.Value <> "0" And _
ComboBox_C3.Value <> "0" Then
Range("Q33").Value = ComboBox_C2.Value * _
ComboBox_C3.Value
End If
End If
End If
'Masquer la feuille "VIERGE"
Sheets("VIERGE").Select
ActiveWindow.SelectedSheets.Visible = False
'Sélection de la dernière feuille de droite
Sheets(Sheets.count).Select
Unload Me
'UsF_ICP.Show
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ne connaissant ps la structure de votre fichier, ni celle du formulaire , j'ai donc conservé que la partie
et
et ça fonctionne bien, le problème se situe donc après le "End With" et avant le masquage de la feuille.
Mettez un point d'arrêt après le "End With", lancez la macro et continuez en pas à pas avec F8, vous finirez bien par trouver ce qui cloche.
'On copie une fiche vierge
With Sheets("VIERGE").Select
Cells.Select
Application.CutCopyMode = False
Selection.Copy
'Sélection du dernier onglet à droite
Sheets(Sheets.Count).Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveSheet.Paste
ActiveWindow.Zoom = 70
Range("C2").Select
Application.CutCopyMode = False
'Suppression du quadrillage,de la barre de formule et de la barre d'en-tête :
ActiveWindow.DisplayGridlines = False
ActiveWindow.DisplayHeadings = False
Application.DisplayFormulaBar = False
End With
et
'Masquer la feuille "VIERGE"
Sheets("VIERGE").Select
ActiveWindow.SelectedSheets.Visible = False
et ça fonctionne bien, le problème se situe donc après le "End With" et avant le masquage de la feuille.
Mettez un point d'arrêt après le "End With", lancez la macro et continuez en pas à pas avec F8, vous finirez bien par trouver ce qui cloche.
J'avais pensé que partager mon fichier n'était pas utile, désolé.
Le voici :
https://www.cjoint.com/c/JJergSKFM2Q
Le voici :
https://www.cjoint.com/c/JJergSKFM2Q