Manipulation des classeurs et des feuilles en VBA
Dans cette vidéo on traite la manipulation des classeurs et des feuilles par code. On voit notamment :
comment ajouter un nouveau classeur à la collection Workbooks Récupérer le nom du classeur Balayer les feuilles d'un classeur en utilisant la collections Worksheets La différence entre les objets ThisWorkbook et ActiveWorkbook Comment ajouter une feuille en précisant sa position par rapport à une feuille Ajouter une feuille de type graphique La différence entres les collections Worksheets, Sheets et Charts Comment sauvegarder un classeurCodes Sources:
Option Explicit
Sub test()
Dim f As Worksheet
Debug.Print "Nom application " & Application.Name
Debug.Print "Nom du classeur " & Application.ThisWorkbook.Name
Debug.Print "Application installée en " & Application.Path
Debug.Print "Nom du classeur " & Application.Workbooks(1).Name
Debug.Print "Liste des " & Worksheets.Count & " feuilles du classeur " & ThisWorkbook.Name
For Each f In Worksheets
Debug.Print f.Name
Next
End Sub
Sub test1()
Dim wb As Workbook
Set wb = Application.Workbooks.Add
Debug.Print "Classeur " & ActiveWorkbook.Name & " a été ajouté"
End Sub
Sub test2()
Dim f As Worksheet
Debug.Print "Liste des " & Workbooks(2).Worksheets.Count & " feuilles du classeur " & Workbooks(2).Name
For Each f In Workbooks(2).Worksheets
Debug.Print f.Name
Next
End Sub
Sub ajouterfeuille()
Workbooks(2).Worksheets.Add
End Sub
Sub ajouterfeuille1()
ThisWorkbook.Worksheets.Add
End Sub
Sub ajouterfeuille2()
Worksheets.Add before:=Worksheets("Feuil3")
End Sub
Sub ajouterfeuille3()
Worksheets.Add after:=Worksheets("Feuil3")
End Sub
Sub ajouterfeuille4()
ThisWorkbook.Worksheets.Add after:=Worksheets("Feuil3"), Count:=2
End Sub
Sub ajouterfeuille5()
Dim f As Worksheet
Workbooks(1).Activate
Sheets.Add Type:=xlChart
For Each f In Worksheets
Debug.Print f.Name
Next
End Sub
Sub ajouterfeuille6()
Dim f As Object
For Each f In Sheets
Debug.Print f.Name
Next
End Sub
Sub ajouterfeuille7()
Dim f As Chart
For Each f In Charts
Debug.Print f.Name
Next
End Sub
Sub testsave1()
ThisWorkbook.Save
End Sub
Sub testsave2()
ThisWorkbook.SaveAs Filename:="toto", FileFormat:=xlOpenXMLWorkbookMacroEnabled
Debug.Print "Le classeur " & ThisWorkbook.Name & " a été enregistré dans " & ThisWorkbook.Path
End Sub
Commentaires