Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 02/07/2009, 21h35   #1
Nouveau Membre du Club
 
Inscription : juin 2009
Messages : 113
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 113
Points : 25
Points : 25
Par défaut Feuille par défaut pour un classeur seulement?

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.
mobiclick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 10h02   #2
Membre Expert
 
Avatar de Krovax
 
Inscription : juillet 2008
Messages : 1 889
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : juillet 2008
Messages : 1 889
Points : 1 937
Points : 1 937
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?
Krovax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 10h12   #3
Nouveau Membre du Club
 
Inscription : juin 2009
Messages : 113
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 113
Points : 25
Points : 25
Bonjour
Je suis partant !
Par contre je crains que la macro plante si la feuille type est masquée dans le meme classeur.
mobiclick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 10h42   #4
Membre Expert
 
Avatar de Krovax
 
Inscription : juillet 2008
Messages : 1 889
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : juillet 2008
Messages : 1 889
Points : 1 937
Points : 1 937
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 :
1
2
3
4
5
6
7
8
9
10
11
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
Pour pourvoir afficher la feuille si tu veux la modifier
(en utilisant Xlveryhidden tu ne rend possible l'affichage que par macro, l'utilisateur ne devrais pas pouvoir tomber dessus par hasard)
Code :
1
2
3
Sub afficheFeuille()
Worksheets("Feuil2").Visible =True
end sub
Krovax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 10h50   #5
Nouveau Membre du Club
 
Inscription : juin 2009
Messages : 113
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 113
Points : 25
Points : 25
Merci Krovax ...juste un souci :le code insére 2 feuilles (l feuille type et une feuille blanche)
mobiclick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 10h52   #6
Membre Expert
 
Avatar de aalex_38
 
Inscription : septembre 2007
Messages : 1 570
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 1 570
Points : 1 709
Points : 1 709
Bonjour à tous,

un peu le même code que Krovax en utilisant le codename :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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:
Merci Krovax ...juste un souci :le code insére 2 feuilles (l feuille type et une feuille blanche)
A mon avis il te suffit de supprimer la feuille dés le début :

Code :
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_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
aalex_38 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 11h08   #7
Nouveau Membre du Club
 
Inscription : juin 2009
Messages : 113
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 113
Points : 25
Points : 25
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.
mobiclick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 11h09   #8
Membre Expert
 
Avatar de Krovax
 
Inscription : juillet 2008
Messages : 1 889
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : juillet 2008
Messages : 1 889
Points : 1 937
Points : 1 937
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 :
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
27
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
Krovax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 11h23   #9
Membre Expert
 
Avatar de aalex_38
 
Inscription : septembre 2007
Messages : 1 570
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 1 570
Points : 1 709
Points : 1 709
Citation:
Juste une petite modif pour insérer la feuille pas en dernier mais la ou elle aurait du être
Sympa le coup de l'index

Citation:
supprimer ou masquer ? si c'est supprimer je ne vois pas comment lancer la procédure , le classeur contenant une seule feuille
Krovax, t'as donné un code pour gérer l'évenement "nouvelle feuille", pour cela tu vas dans thisworkbook, dans la liste de gauche tu selectionnes workbook, dans celle de droite newsheet et le sub s'ecrit automationquement ensuite tu copies dedans le code que il t'a donné.
__________________

Dernière modification par AlainTech ; 07/07/2009 à 05h02. Motif: Balises [quote], pas code
aalex_38 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2009, 11h28   #10
Nouveau Membre du Club
 
Inscription : juin 2009
Messages : 113
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 113
Points : 25
Points : 25
Par défaut Insérer une feuille type pour un seul classeur

GRAND MERCI VOUS ETES GENIAUX
C'est impeccable !!!
SALUTATIONS
mobiclick est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 12h32.


 
 
 
 
Partenaires

Hébergement Web