XL 2016 Feuille fantôme dans classeur

  • Initiateur de la discussion Initiateur de la discussion Phillip
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Phillip

XLDnaute Occasionnel
Bonjour,

J'ai finalement réussi à faire marcher mon code sur un fichier de tests et je veux le transférer sur mon vrai fichier.

Voici le bout de code qui me pose problème dès le début dans le vrai fichier (mais pas dans le fichier de tests).
VB:
For Each Fmois In ThisWorkbook.Worksheets
      If Fmois.Name = Vmoislettres Then 'Vmoislettres est "janvier"
        Worksheets(Vmoislettres).Activate
        Call noms
        Fairelessommes Fmois
       
     
       
      ElseIf Fmois.Name = VmoisprochainLettres Then 'Vmoisprochainlettres est "février"
        Worksheets(VmoisprochainLettres).Activate
        Call noms
       
     
        Fairelessommes Fmois
     
    End If
       
      Next Fmois

Il plante et sort de la sub car le premier Fmois qu'il reconnaît est "Feuill1". Or, je n'ai PAS de Feuil1 dans mon classeur, elle n'est pas masquée et si je regarde dans le projet VBA elle n'existe pas non plus (elle aurait pu être en xlsheetveryhidden).
En revanche, si j'insère une feuille en première position dans mon classeur de test effectivement ça fait planter la macro, donc c'est bien la présence d'une feuille en première position qui pose problème....

Comment supprimer cette feuil1 fantôme, ou pourquoi apparaît-elle ?

PS : je précise que si j'insère la ligne Worksheets(1).Activate, ça m'active bien la feuille janvier, ma première feuille sur laquelle je veux travailler !

merci de votre aide

Cordialement

Phillip
 
Dernière édition:
Bonjour,

Pardon, mais ton explication ne me semble pas trop tenir la route...

Juste un exemple : "Il plante et sort de la sub car le premier Fmois qu'il reconnaît est "Feuill1"." ne veut pas dire grand chose.
- Qui reconnait la feuille "Feuill1" ?
- Que veut dire "reconnaître" une feuille ?
- Comment sais-tu que cette feuille est "reconnue" ?
- Etc.


VB:
For Each Fmois In ThisWorkbook.Worksheets

    If Fmois.Name = Vmoislettres Then 'Vmoislettres est "janvier"
        Worksheets(Vmoislettres).Activate
        Call noms
        Fairelessommes Fmois
    ElseIf Fmois.Name = VmoisprochainLettres Then 'Vmoisprochainlettres est "février"
        Worksheets(VmoisprochainLettres).Activate
        Call noms
        Fairelessommes Fmois
    End If

Next Fmois
 
Si, mon classeur a bien plusieurs feuilles, dont janvier et février (et d'autres), mais PAS de feuill1. Le seul truc que je vois c'est cette feuill1 dans mon personal.xlsb et qui poserait problème (mais je ne peux pas la supprimer).

PS : C'est bien cette feuille qui pose problème, car je l'ai renommée et c'est bien elle qui apparaît quand je survole mon code...
 
Dernière édition:
Non, vu d'ici, ton classeur n'a qu'une seule feuille, et elle se nomme "Feuil1".
C'est tout ce que j'ai à dire pour l'instant. 🙁
Merci du temps passé...je ne vois pas trop comment tu peux voir que mon classeur n'a qu'une feuille mais bon...Je travaille sur 2023.xlsm qui a plusieurs feuilles avec des macros dans personal.xlsb....2023 a plusieurs feuilles et personal.xlsb a cette feuille (que j'ai renommée modulo) qui pose problème...
 

Pièces jointes

  • Captureexcel.PNG
    Captureexcel.PNG
    12.8 KB · Affichages: 17
je ne vois pas trop comment tu peux voir que mon classeur n'a qu'une feuille mais bon...
C'est bien ce que je voulais te faire comprendre. 😉


Je travaille sur 2023.xlsm qui a plusieurs feuilles avec des macros dans personal.xlsb
Je l'avais un peu deviné. 😉
Et c'est bien là ton problème.
Comprends-tu ?

2023 a plusieurs feuilles et personal.xlsb a cette feuille (que j'ai renommée modulo) qui pose problème...
Ce n'est pas cette feuille qui pose problème. C'est le code de ta macro. 😉
Est-ce plus clair ?
 
Dis-moi si je me trompe :
- ta macro se trouve dans le classeur PERSONNAL,
- ta macro utilise ThisWorkBook,
- donc ta macro travaille dans le classeur PERSONNAL qui n'a qu'une seule feuille.
J'ai bon ?

Si j'ai bon, alors il n'y a aucun fantôme dans le coup. 😉


Pour info :
- ThisWorkbook fait référence au classeur dans lequel se trouve l'instruction ThisWorkbook rencontrée.
- ActiveWorkbook fait référence au classeur qui est actif quand est rencontrée l'instruction ActiveWorbook.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour