Insérer on glet par macro

  • Initiateur de la discussion Initiateur de la discussion CLAUDEF
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

CLAUDEF

Guest
Bonjour le forum,

J'aimerais dans le fichier joint, créer un nouvel onglet du formulaire "AUTORISATION" aprés l'avoir renseigné et que ce nouvel onglet porte le nom inscrit dans la cellule grisée "NOM & PRENOM" et répeter cette macro à chaque changement de nom.
Je ne sais si c'est possible
D'avance je vous remercie pour votre aide
 

Pièces jointes

Re : Insérer on glet par macro

Même zippé le fichier fait 104ko je ne peux donc le joindre.
Ca fonctionne, mais j'ai un problème de stabilité, au bout d'un certain nombre de création d'onglet il bug sur les lignes "Sheets("AUTORISATION").Copy After:=Sheets(Sheets.Count)" ou "Sheets("HABILITATION").Copy After:=Sheets(Sheets.Count)" entre 40 et 50 saisies, je sais que ça serait plus facile avec le fichier, mais je ne sais comment faire
 
Re : Insérer on glet par macro

bonjour CLAUDEF

Salut fanfan
Salut Pierre Olivier 🙂

je crois que le probleme est du au fait que l'on copie en même temps que la feuille AUTORISATION la macro Worksheet_change, laquelle réagit ensuite sur les feuilles créees

@ CLAUDEF

vois si ceci te convient
 

Pièces jointes

Re : Insérer on glet par macro

Bonjour,
En fait mon fichier a évolué, il s'agit de deux onglets "HABILITATION" ET "AUTORISATION" qui doivent à chaque changement de nom générer un onglet "XXX" pour les habilitations et "XXX aut" pour les autorisations.
Peut être pas facile de comprendre, j'ai transmis mon fichier à pierre Olivier, je pense que c'est plus explicite.
Merci quand même
 
Re : Insérer on glet par macro

Re, bonjour pierrejean,

Malheureusement il n'y a pas de solution, c'est un bug d'excel.
Regarde cette discussion:
https://www.excel-downloads.com/threads/creer-un-planning-a-la-semaine.61297/

Pour t'en sortir, il faut ajouter une nouvelle feuille vierge, puis copier la plage de la feuille AUTORISATION (ou HABILITATION) sur cette dernière.
Mais le problème c'est que tu dois ensuite reprendre la largeur des colonnes et des lignes.

pierrejean, le code Worksheet_change de la nouvelle feuille créée est supprimé par ces lignes de code:
Code:
With ThisWorkbook.VBProject.VBComponents(ActiveSheet.CodeName).CodeModule
     .DeleteLines 1, .CountOfLines
End With
A+
 
Re : Insérer on glet par macro

Re,

Essaye comme ca:

Pour la feuille AUTORISATION

Code:
 If FeuilExist(Range("D10").Value & " aut") = False Then
          Sheets.Add after:=Sheets(Sheets.Count)
          With ActiveSheet
             Sheets("AUTORISATION").Range("A1:S42").Copy .Range("A1")
             .Name = Range("D10").Value & " aut"
             Mise_En_Page
          End With
           Sheets("AUTORISATION").Activate
           Exit Sub
        Else
           MsgBox "la Feuille """ & Range("D10").Value & " aut" & """ existe déjà" & vbCrLf & "choisie un autre nom SVP", , "Attention:"
        End If
    End If
Rajoute cette procédure dans un module de code standard :

Code:
Sub Mise_En_Page()

Dim k As Integer
Application.ScreenUpdating = False
With ActiveSheet
  ActiveWindow.Zoom = 75
    Columns(2).ColumnWidth = 3.14
    Columns(3).ColumnWidth = 20#
    Columns(10).ColumnWidth = 20#
    Columns(11).ColumnWidth = 2.71
        For k = 3 To 7
          Rows(k).RowHeight = 19.5
        Next
         Rows(15).RowHeight = 33
          For k = 16 To 28
           Rows(k).RowHeight = 45
          Next
           Rows(29).RowHeight = 34.5
           Rows(30).RowHeight = 34.5
           Rows(34).RowHeight = 15
             For k = 35 To 38
               Rows(k).RowHeight = 19.5
             Next
               Rows(39).RowHeight = 14.25
               Rows(40).RowHeight = 19.5
End With
Application.ScreenUpdating = True
End Sub
Teste et dit moi si cela te convient

A+
 
Dernière édition:
Re : Insérer on glet par macro

Bonjour,

Je ne sais si PierreOlivier est connecté mais j'ai encore un bug avec ce programme. En fait quand je valide mes feuilles et qu'elles se copient la derniére copie est bonne mais elle éfface en partie des données des copies de feuilles précédentes et ainsi de suite, y a t il un probléme ou quelque chose à rajouter dans le code de la mise en page avant la copie?

D'avance merci
s
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
20
Affichages
1 K
L
Réponses
1
Affichages
1 K
L
Retour