Bonjour,
J'ai actuellement un problème et j'espère que vous pourrez m'aider à trouver la solution. Je travaille sur un unique classeur qui possède plusieurs feuilles (une vingtaine, seul 16 d'entre elles m'intéressent) et je souhaiterais empêcher l'utilisateur de modifier le nom de ces feuilles ainsi que leurs positions.
Par ex, je souhaiterais qu'à tout instant :
Feuil1 s'appelle Nuevos informaciones et soit en position une
Feuil2 s'appelle Error et soit en position 2
Feuil3 s'appelle BASE TOTAL et soit en position 3
etc... jusqu'à Feuil16 à aussi prendre en compte et les feuilles suivantes je m'en fiche totalement
Je n'ai pas trouvé de solution sur internet et j'ai donc essayé de le faire à ma sauce.
Je pense que la meilleur solution est tout d'abord de fixer l'ordre des feuilles (forcer Feuil1 en position 1, Feuil2 en position 2 etc... lors de l'ouverture du classeur) puis de fixer leur noms (forcer le nom de Feuil1 à Nuevos informaciones etc... lors de l'ouverture du classeur). Puis d'itérer cette procédure à chaque tentative de changement de nom ou de position si c'est possible (est ce possible ?), sinon à chaque changement de page.
Voici une ébauche de code qui ne marche pas :
J'espère que vous pourrez m'aider à résoudre ce problème
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 Private Sub Workbook_Open() Dim ws As Worksheet Application.ScreenUpdating = False For Each ws In Worksheets Select Case ws.CodeName Case Is = "Feuil1" Sheets("" & ws.Index).Move before:=Sheets(1) 'etc pour les 15 autres feuilles Case Else End Select Next ws For Each ws In Worksheets Select Case ws.Index Case Is = 1 Worksheets(1).Activate ActiveSheet.Name = "Nuevos informaciones" ' etc pour les 15 autres feuilles Case Else End Select Next ws End Sub![]()
Partager