XL 2010 Disparition d onglets Au secours

rosabelle

XLDnaute Junior
Bonjour,
Je suis désespérée, hier soir j' ai essayé de corriger un fichier sur lequel je travaille depuis longtemps et aujourd'hui (je ne l ai pas vu hier mais il est possible qu ils avaient déjà disparu car il y a plusieurs onglets) j ai une très mauvaise surprise.
2 onglets ont disparu, je ne les ai pas supprimés c est sûr.
Pour l historique j'avais à l ouverture du fichier :
1 alerte, voulez vous modifier les liaisons
+ 1 message erreur de compilation code 1404
J étais très contente car pour les liaisons je suis allée dans données, modifier les liaisons, invite de démarrage, ne pas afficher l alerte et ne pas mettre à jour les liaisons.
Pensez vous que cela peut faire disparaitre ces onglets qui comportaient il est vrai un lien vers un ancien fichier dont je ne pouvais pas retrouver la trace ?
Par ailleurs, pour l autre message j'avais corrigé des codes et je ne l avais plus.
Je suis désespérée car je devais remettre ce fichier lundi
J espère un miracle ...
Pouvez vous m aider?
 
Solution
@rosabelle

5Sub re+gle1()
Ce n'est pas un début de "sub" valide a remplacer par :


Pour afficher des feuilles cachées je t'ai donné la solution au post # 4

Sans fichier on va forcement répondre un peu au pif..
Sinon est -ce que ces codes seraient responsables ?

Remarque :
1)Quand tu fais 1 macro il serait utile que tu commentes ce que tu veux faire ce qui te permet de revenir sur le code même longtemps après et comprendre plus facilement ce que tu voulais faire

2)Quand tu fais 1 macro avec l'enregistreur après essaye de le condensé car l’enregistreur est très .....bavard et tu peux beaucoup simplifié ...

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Rosabelle,

1- Si sur les noms d'onglets vous faites clic droit, Afficher .... avez vous dans la liste les noms d'onglets manquants ? Si oui, dans la fenêtre afficher, cliquez sur le nom de l'onglet désiré il reviendra.

2- Vous avez du VBA apparemment. Dans la fenêtre VBA à gauche avez vous les feuilles manquantes ? Si oui, cliquez sur une des feuilles et dans propriétés regardez le paramètre Visible, s'il est 0-XLsheetveryhidden passez le en 1-XLSheetVisible, peut être que le VBA a modifié ce paramètre.
 

rosabelle

XLDnaute Junior
Bonjour Rosabelle,

1- Si sur les noms d'onglets vous faites clic droit, Afficher .... avez vous dans la liste les noms d'onglets manquants ? Si oui, dans la fenêtre afficher, cliquez sur le nom de l'onglet désiré il reviendra.

2- Vous avez du VBA apparemment. Dans la fenêtre VBA à gauche avez vous les feuilles manquantes ? Si oui, cliquez sur une des feuilles et dans propriétés regardez le paramètre Visible, s'il est 0-XLsheetveryhidden passez le en 1-XLSheetVisible, peut être que le VBA a modifié ce paramètre.
 

rosabelle

XLDnaute Junior
Merci pour votre réactivité, je ne suis malheureusement pas chez moi en ce moment, j ai dû m absenter mais ça m inquiète tellement que je vous écris de mon téléphone.
Je vérifie dès que je suis rentrée et vous redis.
Dans mes codes j en avais un qui disait de masquer 2 des onglets mais pas ceux là, me serais je trompée en modifiant mes codes?
J espère que mes onglets existent toujours et sont juste invisible pour le moment
Quelle angoisse
 

rosabelle

XLDnaute Junior
Bonsoir,
A mon grand désespoir je n'ai pas pu regarder convenablement avant ce soir.
Mais ouf ouf ouf mes feuilles n'ont pas été supprimées, je les vois dans la fenêtre VBA, merci @sylvanu .
Par ailleurs quand je fais "afficher" par clic droit en bas , je ne vois pas mes 2 feuilles.
Cependant je vois 2 feuilles masquées qui je le sais comportent chacune un bouton macro censé me permettre d'aller justement sur les feuilles que je cherche.
Mais ces boutons ne fonctionnent plus.
Quand je clique sur un des boutons cela me montre le module 9 et j'ai l'alerte suivante
"Erreur de compilation , cette instruction doit être la première de la ligne"
et aussitôt je vois en rouge :
5Sub re+gle1()
dessous le code est :
regle1 Macro
'
'
Sheets(" prorata").Select
Sheets("REGLE1").Visible = True
Sheets("REGLE1").Select
Range("G3").Select
End Sub
Cela peut-il venir de là?

Sinon est -ce que ces codes seraient responsables ?
Sub prorata1()
'
' prorata1 Macro
'
ActiveWindow.SmallScroll Down:=-9
Range("F44").Select
Sheets(" prorata").Select
Sheets("1").Visible = True
Sheets("1").Select
Range("J5").Select
End Sub

Sub retour11()
'
' retour11 Macro

Range("I5").Select
Sheets("prorata").Select
Range("F44").Select
Sheets("1").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("prorata").Select
Range("F44").Select
End Sub

J'ai aussi remarqué que sur les modules 1 et 7 j'ai des codes très simples que j'avais mis en utilisant l'enregistreur de macro pour faire des aller retour entre les feuilles prorata et 1.
Est ce que le fait de ne pas les avoir supprimés l'embrouille?

Par avance merci
 

Phil69970

XLDnaute Barbatruc
@rosabelle

5Sub re+gle1()
Ce n'est pas un début de "sub" valide a remplacer par :


Pour afficher des feuilles cachées je t'ai donné la solution au post # 4

Sans fichier on va forcement répondre un peu au pif..
Sinon est -ce que ces codes seraient responsables ?

Remarque :
1)Quand tu fais 1 macro il serait utile que tu commentes ce que tu veux faire ce qui te permet de revenir sur le code même longtemps après et comprendre plus facilement ce que tu voulais faire

2)Quand tu fais 1 macro avec l'enregistreur après essaye de le condensé car l’enregistreur est très .....bavard et tu peux beaucoup simplifié .....

3)Les select et les activate sont en général à inutile et à proscrire sauf nécessitè.

Exemple :
Sub retour11()
'
' retour11 Macro

Range("I5").Select
Sheets("prorata").Select
Range("F44").Select
Sheets("1").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("prorata").Select
Range("F44").Select
End Sub

Tu as 1 select pratiquement par ligne :oops: c'est beaucoup , non ? o_O

Et pour
Range("I5").Select
On ne sait pas dans quelle feuille cela s'applique .... donc par défaut excel considère que c'est la feuille qui lance ==> Sub retour11 ()

etc....

@Phil69970
 

AtTheOne

XLDnaute Impliqué
Supporter XLD
Bonsoir à tous,
@rosabelle as-tu, comme te le disait @sylvanu, essayé de passer de xlSheetVeryHidden à xlSheetVisible ?
En suivant cette démarche :
Feuille Veryhidden.gif


Amicalement
Alain
 

GALOUGALOU

XLDnaute Accro
bonjour le fil
re rosabelle
dans vos codes,
Sub retour11()
'
' retour11 Macro

Range("I5").Select
Sheets("prorata").Select
il n'y a pas d'espace entre le guillemet ouvrant et prorata

Sub prorata1()
'
' prorata1 Macro

Range("F44").Select
Sheets(" prorata").Select
il y a un espace entre le guillemet ouvrant et prorata.

si la même incohérence existe dans tout votre code, vous avez l'explication pour la difficulté à voir les feuilles lors de l'exécution de vos codes. Il suffit de vérifier que les noms de vos onglets ne comporte aucuns espaces, et de corriger vos macros.
cdt
galougalou
 

rosabelle

XLDnaute Junior
Bonsoir à tous,
Excusez-moi pour le retard de ma réponse mais j'étais un peu souffrante et j'ai différé la remise de mon fichier.
Je vous remercie encore vivement.
Vous avez tous un peu raison.

En ce qui concerne les problèmes d'espace manquant ou présent à tort c'est noté.
J'ai corrigé le nom de la macro comme indiqué par @Phil69970 sur le module 9.
Pour :
1)Quand tu fais 1 macro il serait utile que tu commentes ce que tu veux faire ce qui te permet de revenir sur le code même longtemps après et comprendre plus facilement ce que tu voulais faire
Cela m'aiderait en effet beaucoup car à la fin je perds trop de temps à comprendre ce que je voulais faire qd je reprends :
Comment fait on cela?


@AtTheOne sur le module 1 j'avais le code :
Sub VoirTout()
For Each F In Worksheets
Sheets(F.Name).Visible = True
Next F
End Sub
Je n'ai pas réussi à visualiser selon la méthode que tu indiques avec ton gif (très sympa, je ne sais pas comment tu fais cela, très intéressant pour montrer, ça me plairait bien de savoir faire ça)

Par ailleurs j'ai repéré les bouts de codes qui indiquaient de cacher les feuilles qui ont disparu et je les ai carrément enlevés....
Pas top mais au moins les feuilles sont visibles, ce choix que j'avais fait de rendre invisible en quittant la feuille n'était peut-être pas judicieux.

Merci encore pour vos très précieux conseils
Bonne soirée
 

Phil69970

XLDnaute Barbatruc
Bonjour @rosabelle

Cela m'aiderait en effet beaucoup car à la fin je perds trop de temps à comprendre ce que je voulais faire qd je reprends :
Comment fait on cela?
Pour mettre des commentaires c'est très simple tu mets une apostrophe et ensuite ton commentaire
Exemple :

VB:
Sub Exemple()
'
' Exemple Macro

' Blablabla c'est mon commentaire
'Ici je fais ci ou bien ça ==> c'est un autre commentaire
'Finalement je préfère ceci ...
' Mon action
Sheets("REGLE1").Visible = True     ' Je rends visible la feuille "Regle1"
' Fin de mon action
'etc etc .....
C'est l'apostrophe qui fait mon commentaire ' Blablabla c'est mon commentaire
Quand excel voit l'apostrophe il passe son chemin à la ligne suivante et toi quand tu reviens 3 mois après sur ton code tu vois facilement ce que tu voulais faire à l’époque..... ;)

@Phil69970
 

rosabelle

XLDnaute Junior
Bonjour @rosabelle


Pour mettre des commentaires c'est très simple tu mets une apostrophe et ensuite ton commentaire
Exemple :

VB:
Sub Exemple()
'
' Exemple Macro

' Blablabla c'est mon commentaire
'Ici je fais ci ou bien ça ==> c'est un autre commentaire
'Finalement je préfère ceci ...
' Mon action
Sheets("REGLE1").Visible = True     ' Je rends visible la feuille "Regle1"
' Fin de mon action
'etc etc .....
C'est l'apostrophe qui fait mon commentaire ' Blablabla c'est mon commentaire
Quand excel voit l'apostrophe il passe son chemin à la ligne suivante et toi quand tu reviens 3 mois après sur ton code tu vois facilement ce que tu voulais faire à l’époque..... ;)

@Phil69970
Merci beaucoup @Phil69970 je note j'ai commencé à compléter mes macros et ça marche du tonnerre.
Sûr cela va m'aider considérablement!!!

Bonne journée à tous
 

Phil69970

XLDnaute Barbatruc
@rosabelle

Remarques :
1)Trop de commentaire nuit aussi à la lisibilité du code
Dans mon exemple j’ai un peu beaucoup forcé sur les commentaires 🤣🤣🤣

2)Tu peux aussi regrouper tes modules par fonction exemple

1645178849715.png

Comme cela chaque module à une fonction précise
Évidement il y a d'autre façon de faire selon tes gouts et/ou besoins ;)

Bonne journée

@Phil69970
 

Discussions similaires

Statistiques des forums

Discussions
299 847
Messages
1 979 551
Membres
206 771
dernier inscrit
Charles Fabre