VBA: Cacher/Afficher une feuille en fonction d'un userform
Bonjour à tous :),
J'aurais besoin d'aide concernant un petit problème de programmation en VBA. J'ai compris l'erreur de mon fichier mais ne trouve pas de solutions.
Voici le fonctionnement de mon fichier :
Je dispose d'un fichier EXCEL composé de 2 feuilles de base ("TBR","Checklist") et d'un userform lui-même composé de 3 boutons (ajouter, effacer, quitter).
Lorsque j'ouvre mon fichier EXCEL ou que j'appuie sur un bouton "+" le userform apparait.
A partir du moment où mon userform est ouvert je créer une nouvelle checklist à partir de ma feuille de base "Checklist" et je l'ajoute par incrémentation dans ma feuille "TBR" en cliquant sur le bouton ajouter de mon userform.
Code:
1 2 3 4 5 6 7 8 9
| Private Sub Ajouter_Click()
Sheets("Checklist").Copy After:=Sheets(Sheets.Count) 'copie la checklist vierge remplie dans le userform et la colle à la dernière feuille du classeur
ActiveSheet.Name = PN.Value
Sheets("TBR").[B1].Value = ActiveSheet.Name
Sheets("Checklist").Select
ActiveWindow.SelectedSheets.Visible = False
End Sub |
Ce que j'aimerais, c'est qu'à l'aide de mon bouton ajouter de mon userform je puisse ajouter autant de nouvelle checklist que je souhaite.
Le problème est que j'ai fait en sorte de cacher la feuille de base "Checklist" (qui permet de créer les nouvelles checklists) à chaque clique du bouton "ajouter" pour éviter toutes modifications de la part d'un utilisateur de ma feuille de base.
Code:
1 2 3 4 5 6 7 8
| Sub Ajouter()
If Création.Visible = False Then
Sheets("Checklist").Visible = True
Création.Show
End If
End Sub |
De ce fait je ne peux créer qu'une seule checklist à la fois car la ligne Sheets ("Checklist").select de mon premier code est en erreur si je clique une seconde fois sur le bouton ajouter vu que ma feuille de base "Checklist" ne redevient pas visible après avoir cliqué sur le bouton ajouter.
Ma première idée était de faire une boucle avec un do while mais je n'ai pas réussi.
J'espère avoir été assez claire... Avez-vous une idée, des pistes d'actions?
Merci d'avance à ceux qui répondront à cette discussion :)