Hello nighthawk,
Débutant ? C'est pas mal du tout !
En fait, la principale difficulté vient de la sélection multiple des feuilles.
Pour la désigner, il faut utiliser la propriété "SelectedSheets" de la fenêtre.
Ensuite, on ne peut pas continuer le travail en laissant toutes ces feuilles sélectionnées, car quand on veut copier les feuilles, Excel n'apprécie pas quand il y a une sélection multiple en cours.
Pour les désélectionner, il faut en activer une qui ne l'est pas. D'où la boucle qui les active toutes les unes après les autres. Il y a plus élégant, mais c'est moins simple.
On sort le "Workbooks.Add" de la boucle. Sinon, on créerait un nouveau classeur à chaque fois. Ce n'est sans doute pas ce que tu veux.
Pour éviter de tomber en panne de feuilles dans le nouveau classeur, on les crée dynamiquement si besoin.
Je n'ai pas testé la sauvegarde du classeur nouveau, qui me paraît correcte.
Voilà donc une proposition :
Sub cut_paste()
Application.ScreenUpdating = False
Dim I As Integer ' indice pour boucles For
Dim F As Integer ' pour ajout de feuilles si besoin
Dim Nbr As Integer ' nombre de feuilles à copier
Dim NomFeuille(255) As String ' noms stockés en table
' Stockage en table des feuilles à copier
Nbr = 0
For Each feuille In ThisWorkbook.Windows(1).SelectedSheets
Nbr = Nbr + 1
NomFeuille(Nbr) = feuille.Name
Next
' Désactivation de la sélection multiple
For Each feuille In Worksheets
feuille.Activate
Next
' Ajout nouveau classeur
Workbooks.Add
' Boucle de copie
F = 0
For I = 1 To Nbr
ThisWorkbook.Sheets(NomFeuille(I)).Cells.Copy
F = F + 1
If F > Worksheets.Count Then
Sheets.Add after:=Sheets(Worksheets.Count)
End If
Sheets("Feuil" & F).Select
ActiveSheet.Paste
Next
' Sauvegarde du nouveau classeur
ActiveWorkbook.SaveAs Filename:="D:\Download\Classeur1.xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
Application.ScreenUpdating = True
End Sub
P.S. Comme tu copies tes feuilles entièrement, Excel conserve toutes les mises en forme et les images...
je suis étudiant en stage dans un établissemnet publique je dois creer des module de recheche de miuse a jours et des feuille de rendu de document en utilisant access et vba le probleme c'est que je suis totalement debutant en vba.
et je ne sat pas par ou commencé.
es ce que tu pourrais m'aider.
merci.