Microsoft 365 Copier / coller avec mise en forme VBA

marie3107

XLDnaute Nouveau
Bonjour,

J'ai deux fichiers différents dont j'aimerais copier une feuille "RAPPORT DE COMPETENCES" dans un nouveau classeur.
J'ai créé la macro suivante :

Sub CopieFeuilles_INDIV()
'macro pour copier la feuille sur un nouveau classeur et sans les formules

Dim tablo, F As Object, n%, chemin$, test As Boolean, Fichier$, FileFormatNum
Dim NomClasseur As String
'Dim Fichier As Variant
Dim MaMessagerie As Object
Dim MonMessage As Object

ActiveSheet.Unprotect

Continuer = MsgBox("ATTENTION : Vous êtes sur le point de faire une copie du rapport de compétences. Souhaitez vous continuer ?", vbYesNo)
'MessagBox demandant de confirmer l'enregistrement du fichier


If Continuer = vbYes Then
'Si l'utilisateur répond oui au messageBox Alors

tablo = Array("RAPPORT DE COMPETENCES") 'noms des feuilles à copier

Set F = ThisWorkbook.Sheets(tablo)
With Application
n = .SheetsInNewWorkbook
.SheetsInNewWorkbook = F.Count
Workbooks.Add 'nouveau document
.SheetsInNewWorkbook = n
End With
With ActiveWorkbook
For n = 1 To F.Count
With .Sheets(n)
F(n).Cells.Copy .Cells
.UsedRange = .UsedRange.Value
.Name = F(n).Name
.Columns("J:N").Select
Selection.Delete Shift:=xlToLeft
.Range("H2").Select
End With
Next


.Sheets(tablo).Select
ActiveWindow.DisplayGridlines = False 'le quadrillage n'est pas affiché
Application.DisplayFormulaBar = True 'Masque la barre de formule
Application.DisplayStatusBar = False
ActiveWindow.DisplayHeadings = False 'Masque les en-têtes

Application.Dialogs(xlDialogSaveAs).Show ("RAPPORT DE COMPETENCE - " & Sheets("RAPPORT DE COMPETENCES").Range("D6") & ".xlsx")
Sheets("RAPPORT DE COMPETENCES").Select
ActiveSheet.Protect

End With
End If
End Sub


Ca fonctionne, par contre je plante sur les points suivants :
1. J'aimerai que la mise en forme soit similaire entre les deux fichiers. En effet, la couleur du texte de la copie de mon onglet n'est pas similaire à celle de mon fichier source
2. J'aimerai protéger la nouvelle copie créée
3. J'aimerai que la mise ne page pour impression soit similaire pour la copie. En effet, si j'imprime l'onglet avec mon fichier source, tout est bien sur une page mais si j'imprime ma copie, cela se met sur 2 pages.


Pourriez-vous m'aider SVP ?
Merci d'avance
 

Statistiques des forums

Discussions
312 935
Messages
2 093 741
Membres
105 805
dernier inscrit
belgacem.nahali