Création feuille Excel en fonction Gabarit et la protéger

Bonjour,

Je lis souvent de l'information sur le forum et en général je réussis à bien me débrouiller. Cependant j'arrive à un point qui est pour moi un peu compliqué.

Pour vous mettre dans le contexte, j'ai créé un menu d'accueil permettant d'avoir 3 niveaux d'accès, SuperAdmin / admin / utilisateur.

L'utilisateur n'a pas besoin de mot de passe, mais à un accès limité à des feuilles Excel, les feuilles qu'il n'a pas accès sont en VeryHidden.

Mon problème présentement est le suivant, lorsque l'utilisateur clique sur "Relevé des quantités", il est redirigé vers une feuille au nom de "RDQ" (à l'origine cette feuille est en VeryHidden), l'utilisateur peut ajouter des semaines dans sont document à l'aide du bouton "Ajouter une semaine" la macro copie la feuille "TemplateRDQ". Mais s'il clique sur le bouton "Ajouter un plan", une nouvelle feuille "RDQ2", "RDQ3" et ainsi de suite doivent apparaître (est ici la première partie de mon problème). J'ai pensé faire un autre gabarit du nom de "templateRDQplan". Sauf qu'une fois que l'utilisateur va cliquer sur retour au menu d'accueil, seule la feuille "RDQ" va se masquer. Je veux que les feuilles "RDQ2" et + puisse-ce masquer aussi, et quand je clic une nouvelle fois sur "Relevé des quantités" dans le menu d'accueil, il m'affiche tous les RDQ(la seconde partie de mon problème).

Ah et sans oublier, il doit aussi apparaître dans le feuillet "paramétrage", c'est le feuillet utiliser pour donner les accès aux utilisateurs un (X) = l'utilisateur avec un code valide peut voir la feuille.

Pour info pour accéder au feuille vous devez entrer le login d'administrateur soit le bouton rouge et mettre "forum" comme login et passe.

Les feuilles protégés ont "motdepasse" comme protection.

En espérant avoir été clair dans ma demande, je vous remercie d'avance pour votre aide et j'ai inclus un fichier Excel pour la compréhension.

J'ai répondu en partie à mes questions en fouillant et en repensant la méthode de travail cependant je bloque sur une dernière chose:

J'ai une feuille "RDQ" avec un bouton ajouter une feuille je veux que lorsque je clique sur le bouton une nouvelle feuille se créé tout en incrémentant de 1 (RDQ-2 , RDQ-3 et ainsi de suite).

lorsque je clic la première fois tout se passe bien, mais lorsque je clique pour une deuxième fois j'ai un erreur, comme si l'incrémentation ne ce faisait pas:

Sub AddRDQPlan()

'Déprotéger le classeur

Application.ScreenUpdating = False

ActiveWorkbook.Unprotect Password:="motdepasse"

'Afficher les feuilles VeryHidden

Dim f As Worksheet

For Each f In Worksheets

f.Visible = xlSheetVisible

Next f

'Ajouter une feuille de RDQ

Dim var As Long

Dim ws As Worksheet

var = 1

For Each ws In Application.Worksheets

If Right(ws.Name, 1) = num Then

var = var + 1 'on ajoute 1 a var

Else

Exit For

End If

Next

Sheets("TemplateTechPLAN").Copy before:=Sheets("Relevé")

ActiveSheet.Name = "RDQ" & "-" & var

'Masquer les feuilles VeryHidden

Dim sh As Worksheet

For Each sh In Sheets

If sh.Name Like "*RDQ*" Then

sh.Visible = xlSheetVisible

Else

sh.Visible = xlSheetVeryHidden

End If

Next sh

'Protéger le classeur

ActiveWorkbook.Protect Password:="motdepasse", Structure:=True, Windows:=True

Application.ScreenUpdating = True

End Sub

Qu'est-ce que j'ai fait de mal et comment le corriger.

Merci beaucoup

Bonjour

A tester

Sub AddRDQPlan()
'Déprotéger le classeur
  Application.ScreenUpdating = False
  ActiveWorkbook.Unprotect Password:="motdepasse"

  'Afficher les feuilles VeryHidden
  Dim f As Worksheet
  For Each f In Worksheets
    f.Visible = xlSheetVisible
  Next f

  'Ajouter une feuille de RDQ
  Dim var As Long
  Dim ws As Worksheet
  var = 1
  Do
    If FeuilleExiste("RDQ" & "-" & var) = False Then
      Sheets("TemplateTechPLAN").Copy before:=Sheets("Relevé")
      ActiveSheet.Name = "RDQ" & "-" & var
      Exit Do
    End If
    var = var + 1
  Loop

'  var = 1
'  For Each ws In Application.Worksheets
'    If Right(ws.Name, 1) = num Then
'      var = var + 1  'on ajoute 1 a var
'    Else
'      Exit For
'    End If
'  Next
'  Sheets("TemplateTechPLAN").Copy before:=Sheets("Relevé")
'  ActiveSheet.Name = "RDQ" & "-" & var

  'Masquer les feuilles VeryHidden
  Dim sh As Worksheet
  For Each sh In Sheets
    If sh.Name Like "*RDQ*" Then
      sh.Visible = xlSheetVisible
    Else
      sh.Visible = xlSheetVeryHidden
    End If
  Next sh

  'Protéger le classeur
  ActiveWorkbook.Protect Password:="motdepasse", Structure:=True, Windows:=True
  Application.ScreenUpdating = True
End Sub
Function FeuilleExiste(Nom As String) As Boolean
  On Error Resume Next
  FeuilleExiste = Sheets(Nom).Name <> ""
  On Error GoTo 0
End Function

Çà marche nickel Merci,

J'avais pas vu la fonction à la fin du code

Rechercher des sujets similaires à "creation feuille fonction gabarit proteger"