Erreur 1004 vba la methode de l'objet a echou

Résolu
ben0013 -  
 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

A voir également:

3 réponses

melanie1324 Messages postés 1504 Date d'inscription   Statut Membre Dernière intervention   155
 
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
Info
 
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
0
ben0013
 
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.
0