Excel - Interdire le déplacement d'une feuille [Résolu]

jesuhsXVII 8 Messages postés samedi 13 mars 2004Date d'inscription 6 mars 2009 Dernière intervention - 13 sept. 2007 à 18:29 - Dernière réponse : jesuhsXVII 8 Messages postés samedi 13 mars 2004Date d'inscription 6 mars 2009 Dernière intervention
- 17 sept. 2007 à 14:34
Bonjour,
je souhaite interdire la changement d'index d'une feuille, donc pas de déplacement, tout en laissant la possibilité de créer d'autres feuilles qui pourraient venir derrière celles existantes.
Je ne peux pas protéger la structure du classeur puisque cela empeche de créer d'autres feuilles.
Je n'ai pas trop d'idées et je sais pas si c'est réalisables.
Merci de bien vouloir me renseigner.
Afficher la suite 

Votre réponse

7 réponses

JM247L 444 Messages postés mardi 27 mars 2007Date d'inscription 1 mars 2011 Dernière intervention - 14 sept. 2007 à 15:29
+3
Utile
Le code ci-dessous est à coller au niveau de la feuille ne devant pas être déplacée
Dans l'exemple le Nom de la feuille est "Ne pas déplacer" ile faut bien eevidemment le remplacer par le nom qui va bien
Merci de me tenir informé de ton état de liesse après tests

Option Explicit
Dim Controle_OK As Boolean



Private Sub Worksheet_Activate()
  If Controle_OK = False Then Sheets("Ne pas Déplacer").Move Before:=Sheets(1)
End Sub



Private Sub Worksheet_DeActivate()
Dim I, Keep_ActiveSheet
  If Controle_OK = True Then
    Controle_OK = False
    Exit Sub
  End If
  Keep_ActiveSheet = ActiveSheet.Name
  For I = 1 To Sheets.Count
    If Sheets(I).Name = "Ne pas déplacer" Then
      Controle_OK = True
      Sheets(I).Move Before:=Sheets(1)
      Exit For
    End If
  Next I
  Worksheets(Keep_ActiveSheet).Select
End Sub






Cliquer "Réponse Acceptée" Quand La Réponse Est OK
JML.

 Partageons notre savoir et nos acquis
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de JM247L
JM247L 444 Messages postés mardi 27 mars 2007Date d'inscription 1 mars 2011 Dernière intervention - 17 sept. 2007 à 14:23
+3
Utile
Salut,
Il ne doit pas y avoir de place pour le "Mais ça devrait arriver assez rarement !"

Dans "Thisworkbook" au niveau de "Workbook_BeforeSave" stock dans une variable la feuille active puis sélectionne la feuille "A ne pas déplacer"
Cette sélection effectuera le code de "Worksheet_Activate"
Tu peux aussi faire au niveau de "Workbook_Open"
Mais pas au niveau des 2 ce qui serait superflux

Cliquer "Réponse Acceptée" Quand La Réponse Est OK
JML. Partageons notre savoir et nos acquis
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de JM247L
JM247L 444 Messages postés mardi 27 mars 2007Date d'inscription 1 mars 2011 Dernière intervention - 14 sept. 2007 à 13:51
0
Utile
Bonjour,
Je n'ai jamais trouvé dans excel, concernant la gestion des feuilles, autre chose que sur l'insertion de nouvelle feuille.


Concernant la supopression et le déplacement ... Rien
Cette opération lorsqu'elle est effectuer n'est même pas annulable

Maintenant en jouant sur l'insertion, tu peux imposer qu'elle le soit, créée, après celle dont elle ne doit pas être avant (j'adore)
Mais tu n'empêchera pas le déplacement manuel

Par contre tu peux controler au moment ou la feuille perrd le focus qu'elle est bien avec le bon index
Si Non alors tu la déplace, par code, à la bonne place
A mon avis ça devrait le faire

.</gras> Partageons notre savoir et nos acquis</gras>
Commenter la réponse de JM247L
JM247L 444 Messages postés mardi 27 mars 2007Date d'inscription 1 mars 2011 Dernière intervention - 14 sept. 2007 à 15:02
0
Utile
Patience !!! Je le tiens ... je te l'envoie ... Bien que je ne te cache pas que je ne vois pas le but de conserver un index à une feuille
JML. Partageons notre savoir et nos acquis
Commenter la réponse de JM247L
jesuhsXVII 8 Messages postés samedi 13 mars 2004Date d'inscription 6 mars 2009 Dernière intervention - 17 sept. 2007 à 14:13
0
Utile
Ca marche très bien. C'est nickel.
Le seule souci que je peux avoir, c'est si la feuille est selectionné puis déplacée et que le fichier est enregistré. Puisque entre le déplacement et l'enregistrement, la feuille n'est ni activée (elle l'est dèjà) ni desactivée, donc pas de contrôle. Mais ça devrait arriver assez rarement ! Je te remercie !
Commenter la réponse de jesuhsXVII
jesuhsXVII 8 Messages postés samedi 13 mars 2004Date d'inscription 6 mars 2009 Dernière intervention - 17 sept. 2007 à 14:22
0
Utile
En fait, le but de la manip':

On est plusieurs à entrer des données pour différentes activités d'une asso' dans différents fichiers excel, les 3 premières feuilles contiennent un tableau identique pour chaque "utilisateur".
J'ai dèjà un autre classeur qui fait le rassemblement (récupération des infos dans chaque classeur puis copie) sous VBA, mais pour faire fonctionner la macro dans ce classeur global, les 3 premières feuilles de chaque classeur doivent avoir la même strucutre !!!
Et les différents pôles qui remplissent ces classeurs doivent frequement ajouter quelques feuilles de commentaires, ou de tableau supplémentaire...
Mais la ça devrait aller nickel.
Commenter la réponse de jesuhsXVII
jesuhsXVII 8 Messages postés samedi 13 mars 2004Date d'inscription 6 mars 2009 Dernière intervention - 17 sept. 2007 à 14:34
0
Utile
Bien vu, ca marche sans pb !

Merci à toi.
Commenter la réponse de jesuhsXVII

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.