Masquer feuille active et retourner sur la feuille 1

Bonjour j'ai un souci avec ma formule, elle est censée masquer la feuille active et me faire retourner sur la feuille 1 (qui dans mon classeur fonctionne comme une page d'accueil) mais cela ne fonctionne pas. Est-ce que quelqu'un peut m'aider ?

Voici la formule :

Sub Fermer_Onglet_Actif()

Dim feuille As Worksheet

Dim cell As Range

ActiveSheet.Unprotect ("")

If MsgBox("Voulez-vous vraiment fermer l'onglet actif?", vbYesNo) = vbYes Then

Application.ScreenUpdating = False

For Each feuille In Worksheets

On Error Resume Next

For Each cell In feuille.Cells.SpecialCells(xlCellTypeConstants)

If cell.Interior.ColorIndex = 35 Then cell.MergeArea.ClearContents

Next cell

Next feuille

End If

ActiveSheet.Protect ("")

Application.ScreenUpdating = True

End Sub

Bonjour,

Le code que tu as posté ne représente pas ce que tu demandes d'après moi ...

Essayes ceci :

Sub Fermer_Onglet_Actif()
Dim feuille As Worksheet
Dim cell As Range
ActiveSheet.Unprotect ("")
 If MsgBox("Voulez-vous vraiment fermer l'onglet actif?", vbYesNo) = vbYes Then
 Application.ScreenUpdating = False
 ActiveWindow.SelectedSheets.Visible = False
 Sheets("Sheet1").Select
 ActiveSheet.Protect ("")
 On Error Resume Next
 Application.ScreenUpdating = True
 End If
End Sub

Je précise que je ne suis pas doué en VBA ...

Cordialement,

Vbabeginner

Bonsoir,

Cela m'échappe peut-être, mais je ne vois rien qui devrait provoquer une erreur d'exécution (y a-t-il erreur d'ailleurs ?) sauf peut-être le ("") que VBA ne devrait pas accepter : les arguments des méthodes ne se mettent pas entre parenthèses (contrairement aux arguments des fonctions) sauf si l'expression se trouve à droite d'un signe = (ce qui la place alors dans la même situation syntaxique qu'une fonction, ou si l'expression doit se poursuivre pour aboutir à une action). Et s'il n'y a pas de mot de passe, inutile de mettre "".

Cordialement.

VBABEGINNER a écrit :

Bonjour,

Le code que tu as posté ne représente pas ce que tu demandes d'après moi ...

Essayes ceci :

Sub Fermer_Onglet_Actif()
Dim feuille As Worksheet
Dim cell As Range
ActiveSheet.Unprotect ("")
 If MsgBox("Voulez-vous vraiment fermer l'onglet actif?", vbYesNo) = vbYes Then
 Application.ScreenUpdating = False
 ActiveWindow.SelectedSheets.Visible = False
 Sheets("Sheet1").Select
 ActiveSheet.Protect ("")
 On Error Resume Next
 Application.ScreenUpdating = True
 End If
End Sub

Je précise que je ne suis pas doué en VBA ...

Cordialement,

Vbabeginner

Tu as beau dire que tu n'es pas doué, cela a fonctionné !

Merci beaucoup !

Bonjour,

Ravi si cela a pu t'aider

Cordialement,

Vbabeginner

Rechercher des sujets similaires à "masquer feuille active retourner"