|
Publicité | ||||||||||||||||||||||
|
|
#1 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: juin 2009
Messages: 68
|
Bonjour au forum
Est-il possible de créer une feuille par défaut pour un classeur seulement? Je sais que c'est possible de créer une feuille par défaut(feuil.xlt) mais cela s'applique à tous les classeurs. |
|
|
|
|
|
#2 (permalink) |
|
Expert Confirmé
![]() Date d'inscription: juillet 2008
Localisation: Elsass
Âge: 24
Messages: 1 887
|
Je dirais que tu pourrais faire ta feuille type la masquer par macro et par la suite quand l'utilisateur veux insérer une feuille c'est cette feuille que ton programme insert et non une feuille blanche. Cela t'irais comme méthode? On part la dessus?
|
|
|
|
|
|
#4 (permalink) |
|
Expert Confirmé
![]() Date d'inscription: juillet 2008
Localisation: Elsass
Âge: 24
Messages: 1 887
|
non ne t'inquiète pas
Il suffit de la démasquer avant de la copier Remplace feuil2 par le nom de ta feuille A placer dans Thisworbook Code :
Private Sub Workbook_NewSheet(ByVal Sh As Object) Application.ScreenUpdating = False Worksheets("Feuil2").Visible = True Sheets("Feuil2").Copy After:=Sheets(Sheets.Count) Worksheets("Feuil2").Visible = xlSheetVeryHidden Application.ScreenUpdating = True End Sub 'pour masquer la feuille a l'ouverture du classeur Private Sub Workbook_Open() Worksheets("Feuil2").Visible = xlSheetVeryHidden End Sub (en utilisant Xlveryhidden tu ne rend possible l'affichage que par macro, l'utilisateur ne devrais pas pouvoir tomber dessus par hasard) Code :
Sub afficheFeuille() Worksheets("Feuil2").Visible =True end sub |
|
|
|
|
|
#6 (permalink) | |
|
Membre Expert
![]() Date d'inscription: septembre 2007
Messages: 1 447
|
Bonjour à tous,
un peu le même code que Krovax en utilisant le codename : Code :
Sub testc() On Error GoTo fin Dim wb As Workbook Set wb = ThisWorkbook Application.ScreenUpdating = False With Feuil2 .Visible = True .Copy After:=wb.Worksheets(wb.Worksheets.Count) .Visible = xlSheetVeryHidden End With fin: Application.ScreenUpdating = True End Sub Citation:
Code :
Private Sub Workbook_NewSheet(ByVal Sh As Object) On Error GoTo fin Dim wb As Workbook Set wb = ThisWorkbook With Application .ScreenUpdating = False .DisplayAlerts = False End With Sh.Delete ' suppression de la feuille With Feuil2 .Visible = True .Copy After:=wb.Worksheets(wb.Worksheets.Count) .Visible = xlSheetVeryHidden End With fin: With Application .ScreenUpdating = True .DisplayAlerts = True End With End Sub Nb :Avec displayalerts = false il ne te demanderas pas de confirmer la suppression de la feuille
__________________
Dernière modification par AlainTech ; 07/07/2009 à 05h01. Motif: Fusion de 2 messages |
|
|
|
|
|
|
#7 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: juin 2009
Messages: 68
|
supprimer ou masquer ? si c'est supprimer je ne vois pas comment lancer la procédure , le classeur contenant une seule feuille ,en l'occurrence la feuille type que je vous insérer automatiquement . Le code de krovax marche à merveille si seulement il insérait que la feuille type , i.e sans la feuille blanche.
|
|
|
|
|
|
#8 (permalink) |
|
Expert Confirmé
![]() Date d'inscription: juillet 2008
Localisation: Elsass
Âge: 24
Messages: 1 887
|
Merci aalex pour la corection. C'était justement la question que je m'étais posé, justilise toujour le meme fichier test et il commence a être un peu truc chargé pour que je remarque ce genre d'erreur
Juste une petite modif pour insérer la feuille pas en dernier mais la ou elle aurait du être Sinon y a tout dans ce code Remplace le Feuil2 par le code name de ta feuille et c'est bon (Le code name tu le trouvera dans l'éditeur de macro c'est le nom de l'onglet qui n'est pas entre parenthèse a gauche) Code :
Private Sub Workbook_NewSheet(ByVal Sh As Object) On Error GoTo fin Dim wb As Workbook dim i as integer Set wb = ThisWorkbook With Application .ScreenUpdating = False .DisplayAlerts = False End With i=sh.index 'peut être mettre un -1 ici i=sh.index-1 Sh.Delete ' suppression de la feuille With Feuil2 .Visible = True .Copy After:=wb.Worksheets(i) .Visible = xlSheetVeryHidden End With fin: With Application .ScreenUpdating = True .DisplayAlerts = True End With End Sub |
|
|
|
|
|
#9 (permalink) | ||
|
Membre Expert
![]() Date d'inscription: septembre 2007
Messages: 1 447
|
Citation:
![]() Citation:
__________________
Dernière modification par AlainTech ; 07/07/2009 à 05h02. Motif: Balises [quote], pas code |
||
|
|
|
|
|
![]() |
||
[XL-2007] Feuille par défaut pour un classeur seulement?
|
||
| Outils de la discussion | |
|
|