aubelix
XLDnaute Impliqué
Bonjour à tous les amis du Forum.
Je reviens vers vous une fois de plus pour de l'aide.
J'ai glané dans le Forum un code, que j'ai adapté à mes besoins.
Il consiste à dupliquer un modèle en autant de fois qu'il y'a de références
dans la feuille BASE. Les feuilles sont renommées aux mêmes noms
que chaque référennce. Jusque là tout se passe bien.
J'aurais souhaité lors de la duplication mettre en forme les feuilles crées
à l'identique en mise en forme que le modèle à savoir les marges, l'orientation
centrage etc...
Ou bien une macro à part qui fasse cette Mise en Forme pour toutes
les feuilles sauf celles nommées : BASE, MMODELE et REFERENCES.
Ci-dessous le code de mes duplications.
Sub creation_FICHES()
Dim SH As Worksheet
Dim cel As Range, plg As Range
Select Case MsgBox(" Voulez-vous lancer la création des FICHES " _
& vbCrLf & " (une feuille par REF)" _
, vbYesNo Or vbQuestion Or vbDefaultButton1, "Confirmation")
Case vbYes
Sheets("BASE").Range("B2").Select
Set plg = Range(Selection, Selection.End(xlDown))
Application.ScreenUpdating = False
For Each cel In plg.Cells
If cel <> "" Then
For Each SH In Worksheets
If SH.Name = cel Then GoTo suite
Next
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = cel.Value
Sheets("MODELE").Cells.Copy ActiveSheet.Cells
'Recopie les différentes rubriques spécifiées
With ActiveSheet
'Numéro identification
.Range("C12").Value = Sheets("BASE").Range("E" & cel.Row).Value
'Référence
.Range("H12").Value = Sheets("BASE").Range("B" & cel.Row).Value
'Numéro d'ordre
.Range("J4").Value = Sheets("BASE").Range("C" & cel.Row).Value
End With
End If
suite:
Next
Call MsgBox(" Toutes les FICHES ont été crées avec succes " _
& vbCrLf & " Pour accéder à la REF de votre choix" _
& vbCrLf & " Tapez : Ctrl + M" _
, vbInformation, "CTRL + M")
Case vbNo
Exit Sub
End Select
Sheets("BASE").Activate
End Sub
Par avance, Merci pour votre aide.
Cordialement.
Je reviens vers vous une fois de plus pour de l'aide.
J'ai glané dans le Forum un code, que j'ai adapté à mes besoins.
Il consiste à dupliquer un modèle en autant de fois qu'il y'a de références
dans la feuille BASE. Les feuilles sont renommées aux mêmes noms
que chaque référennce. Jusque là tout se passe bien.
J'aurais souhaité lors de la duplication mettre en forme les feuilles crées
à l'identique en mise en forme que le modèle à savoir les marges, l'orientation
centrage etc...
Ou bien une macro à part qui fasse cette Mise en Forme pour toutes
les feuilles sauf celles nommées : BASE, MMODELE et REFERENCES.
Ci-dessous le code de mes duplications.
Sub creation_FICHES()
Dim SH As Worksheet
Dim cel As Range, plg As Range
Select Case MsgBox(" Voulez-vous lancer la création des FICHES " _
& vbCrLf & " (une feuille par REF)" _
, vbYesNo Or vbQuestion Or vbDefaultButton1, "Confirmation")
Case vbYes
Sheets("BASE").Range("B2").Select
Set plg = Range(Selection, Selection.End(xlDown))
Application.ScreenUpdating = False
For Each cel In plg.Cells
If cel <> "" Then
For Each SH In Worksheets
If SH.Name = cel Then GoTo suite
Next
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = cel.Value
Sheets("MODELE").Cells.Copy ActiveSheet.Cells
'Recopie les différentes rubriques spécifiées
With ActiveSheet
'Numéro identification
.Range("C12").Value = Sheets("BASE").Range("E" & cel.Row).Value
'Référence
.Range("H12").Value = Sheets("BASE").Range("B" & cel.Row).Value
'Numéro d'ordre
.Range("J4").Value = Sheets("BASE").Range("C" & cel.Row).Value
End With
End If
suite:
Next
Call MsgBox(" Toutes les FICHES ont été crées avec succes " _
& vbCrLf & " Pour accéder à la REF de votre choix" _
& vbCrLf & " Tapez : Ctrl + M" _
, vbInformation, "CTRL + M")
Case vbNo
Exit Sub
End Select
Sheets("BASE").Activate
End Sub
Par avance, Merci pour votre aide.
Cordialement.