Erreur 1004 vba la methode de l'objet a echou

[Résolu/Fermé]
Signaler
-
 ben0013 -
Bonjour à tous

j'ai parcouru plusieurs forum cette question a plus ou moins deja été posée mais je sais pas si je suis dans le meme cas de figure:

voici mon code:
If TextBox1.Text = "tata" And TextBox2.Text = "tata" Then
Feuil1.Visible = xlSheetsVeryHidden
Feuil1.Cells.NumberFormat = ";;;"
Feuil2.Visible = xlSheetVisible
Feuil2.Cells.NumberFormat = "General"
Feuil3.Visible = xlSheetsVeryHidden
Feuil3.Cells.NumberFormat = ";;;"
Feuil4.Visible = xlSheetsVeryHidden
Feuil4.Cells.NumberFormat = ";;;"
Feuil5.Visible = xlSheetsVeryHidden
Feuil5.Cells.NumberFormat = ";;;"
Feuil6.Visible = xlSheetsVeryHidden
Feuil6.Cells.NumberFormat = ";;;"
Feuil7.Visible = xlSheetsVeryHidden
Feuil7.Cells.NumberFormat = ";;;"
Feuil8.Visible = xlSheetVeryHidden

Je cherche à afficher certaine feuilles et masquer les autres.
j'ai 4 conditions du meme type (login mdp) et de temps en temps j'ai cette erreur
"la methode 'visible' de l'objet '_Worksheet' a échoué" mon souci c'est qu'elle echoue aléatoirement si qq1 a une idée...
Merci d'avance

3 réponses

Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
146
Bonjour,

Juste une petite chose,
est-ce que ca ne bugge pas dans le cas ou :
ta feuille est visible et que tu vas le rendre visible?

je serais toi, j'utiliserais plutot ce code la, il est plus simple :
feuil1.visible = true pour l'afficher
feuil1.visible = false pour masquer la feuille.

Essaie et dis moi
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Bonjour,

Au moins une feuille doit toujours être visible dans un classeur Excel,
sous 2003 lorsque je tente de masquer toutes les feuille par VBA.

Il en est de même manuellement, si vous tenter de masquer toutes les feuilles
de votre classeur, à la dernière vous aurez un message d'alert vous signalant
qu'au moins une feuille doit être visible.

Je vous recommande de placer votre code dans un ordre différent :

'Commencer toujours par rendre visible une feuille

Feuil2.Visible = xlSheetVisible
Feuil2.Cells.NumberFormat = "General"

Feuil1.Visible = xlSheetsVeryHidden
Feuil1.Cells.NumberFormat = ";;;"
Feuil3.Visible = xlSheetsVeryHidden
Feuil3.Cells.NumberFormat = ";;;"
...


DE plus vous pouvez arrêter le rafraichissement d'écran pendant la manipulation :

Application.ScreenUpdating = False

Feuil2.Visible = xlSheetVisible
Feuil2.Cells.NumberFormat = "General"

Feuil1.Visible = xlSheetsVeryHidden
Feuil1.Cells.NumberFormat = ";;;"
Feuil3.Visible = xlSheetsVeryHidden
Feuil3.Cells.NumberFormat = ";;;"
'...
Application.ScreenUpdating = True


Info
Merci pour ta réponse je viens de trouver en lisant ton com trop vite lol.
En fait cela venait au moment où je fermais la derniere fenetre. C'est exel qui bloquai la methode...
Merci.