• Initiateur de la discussion Initiateur de la discussion antiphot
  • 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 !

antiphot

XLDnaute Occasionnel
Bonjour à toutes et à tous

Petite question en passant: Existe t'il sous excel la possibilité de figer un onglet de la même façon que l'on fige des volets.

Ex: Mon 1er onglet (le plus à gauche) contient des données que je veux pouvoir comparer avec toutes les données contenues dans chacune des nombreuses feuilles d'un classeur.

Bon vous êtes d'accord, au bout d'un moment si je suis à la feuille 60 l'onglet de ma feuille 1 disparaît. Et ben moi je veux pas non mais!

bon je sens que je demande la lune mais si quelqu'un a la solution, je pense que ce pourrait intéresser grand nombre de personnes 😉
 
Bonjour Antiphot, Éric, bonjour le forum,

Je ne pense pas que ce soit faisable comme «Figer les volets». Mais je te propose cette macro qui place le premier onglet juste avant l'onglet sélectionné.
Macro événementielle à placer par VBE dans le composant ThisWorkbook.


Private Sub Workbook_SheetActivate(ByVal Sh As Object)
On Error GoTo fin
Feuil1.Move before:=ActiveSheet
Exit Sub
fin:
Feuil1.Move before:=Sheets('Feuil2')
End Sub

Édition

Heu non attend ! Y'a un blème on arrive plus à sélectionner un autre onglet... Je regarde

Message édité par: Robert, à: 19/05/2006 15:25
 
Bonjour le fil, bonjour le forum,

Une solution chauve (tellement elle est tirée par les cheveux)... :


Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If ActiveSheet.Name = 'Feuil1' Then Exit Sub
If ActiveSheet.Index = 2 And Feuil1.Index = 1 Then Exit Sub

Application.EnableEvents = False
Feuil1.Move before:=ActiveSheet

If Feuil1.Index = 1 Then
Application.EnableEvents = True
Exit Sub
End If

If ActiveSheet.Index DIFFÉRENT_DE 1 Then
ActiveSheet.Next.Select
Application.EnableEvents = True
End If

End Sub

Remplace évidemment DIFFERENT_DE par les deux symboles consécutifs (au passage David et Pascal, ça commence à gaver grave qu'on ne puisse pas placer ces deux symboles dans un forum Excel !!!!!)

Comme je me méfie de EnableEvents je te conseille de placer aussi dans un coin de module la macro suivante :


Sub Macro1()
Application.EnableEvents = True
End Sub
 
- 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