Bonjour,
J'ai créé une macro me permettant de copier/coller plusieurs feuilles (qui se nomment "RAPPORT DE COMPETENCE", "COLLECTIF" et "REPONSES") d'un fichier dans un autre fichier Excel :
Sub CopieFeuilles_INDIV()
Dim tablo, F As Object, n%, chemin$, test As Boolean, Fichier$, FileFormatNum
Dim NomClasseur As String
Dim MaMessagerie As Object
Dim MonMessage As Object
Dim NomFichier As String
ActiveSheet.Unprotect
Continuer = MsgBox("ATTENTION : Vous êtes sur le point de faire une copie du rapport de compétences. Souhaitez vous continuer ?", vbYesNo)
If Continuer = vbYes Then
tablo = Array("RAPPORT DE COMPETENCES", "COLLECTIF", "REPONSES") '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
Sheets("RAPPORT DE COMPETENCES").Columns("J:N").Select
Selection.Delete Shift:=xlToLeft
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
Sheets("RAPPORT DE COMPETENCES").Range("H2").Select
Application.Dialogs(xlDialogSaveAs).Show ("RAPPORT DE COMPETENCE - " & Sheets("RAPPORT DE COMPETENCES").Range("D6") & ".xlsx")
Sheets("RAPPORT DE COMPETENCES").Select
ActiveWorkbook.Protect
ActiveWorkbook.Close
End With
End If
End Sub
La macro marche très bien.
Or, j'arrive à supprimer les colonnes J à N de la feuille "RAPPORT de COMPETENCE" mais pas de celles "COLLECTIFS" ni "REPONSES".
Pourriez-vous m'éclairer SVP ?
J'ai créé une macro me permettant de copier/coller plusieurs feuilles (qui se nomment "RAPPORT DE COMPETENCE", "COLLECTIF" et "REPONSES") d'un fichier dans un autre fichier Excel :
Sub CopieFeuilles_INDIV()
Dim tablo, F As Object, n%, chemin$, test As Boolean, Fichier$, FileFormatNum
Dim NomClasseur As String
Dim MaMessagerie As Object
Dim MonMessage As Object
Dim NomFichier As String
ActiveSheet.Unprotect
Continuer = MsgBox("ATTENTION : Vous êtes sur le point de faire une copie du rapport de compétences. Souhaitez vous continuer ?", vbYesNo)
If Continuer = vbYes Then
tablo = Array("RAPPORT DE COMPETENCES", "COLLECTIF", "REPONSES") '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
Sheets("RAPPORT DE COMPETENCES").Columns("J:N").Select
Selection.Delete Shift:=xlToLeft
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
Sheets("RAPPORT DE COMPETENCES").Range("H2").Select
Application.Dialogs(xlDialogSaveAs).Show ("RAPPORT DE COMPETENCE - " & Sheets("RAPPORT DE COMPETENCES").Range("D6") & ".xlsx")
Sheets("RAPPORT DE COMPETENCES").Select
ActiveWorkbook.Protect
ActiveWorkbook.Close
End With
End If
End Sub
La macro marche très bien.
Or, j'arrive à supprimer les colonnes J à N de la feuille "RAPPORT de COMPETENCE" mais pas de celles "COLLECTIFS" ni "REPONSES".
Pourriez-vous m'éclairer SVP ?