|
bonjour, je dois réaliser l'exercice suivant:
dans le 1er colonne de la premiere feuille d'un nouveau classeur appelé "nom" lister les classeurs ouverts, dans la 2eme colonne et les suivante lister les feuilles de ces classeurs.
voici ce que j'ai fait:
Sub lister()
Dim classeur As Workbook
Dim txt As String
For Each classeur In Workbooks
txt = txt & classeur.Name
Next classeur
End Sub
Sub feuil()
Sheets.Add
Range("A1") = ActiveWorkbook.Name
Range("B1") = Sheets.Count & " feuilles"
End Sub
ici donc dans la cellule A1 il me met le nom du classeur ouvert et dans B1 le nombre de feuilles
le problème est que lorsque j'ai plusieur classeur ouvert, il ne me les mets pas. Il ne tien compte que celui ou je suis.
Comment puis je faire pour qu'il affiche les autre classeur ainsi que leurs feuilles
merci |
|
Bonjour,
Mieux vaut tard que jamais.
Essaie donc ceci:
Sub lister()
Dim classeur As Workbook
Dim txt As String, a As Integer
a = 1
For Each classeur In Workbooks
txt = classeur.Name
Windows(txt).Activate
Workbooks("Classeur1").Worksheets("nom").Cells(0 + a, 1).Value = txt
Workbooks("Classeur1").Worksheets("nom").Cells(0 + a, 2).Value = Sheets.Count & " feuilles"
a = a + 1
Next classeur
Windows("Classeur1").Activate
Worksheets("nom").Activate
End Sub
A+ -- D'une étincelle peut jaillir la lumière. |
|
Rebonjour,
tu peux également lister le détail des feuilles de chaque classeur ouvert en apportant les modifications suivantes:
Sub lister()
Dim classeur As Workbook, feuille As Worksheet
Dim txt As String, nom As String, a As Integer, b As Integer
a = 1
For Each classeur In Workbooks
txt = classeur.Name
Windows(txt).Activate
Workbooks("Classeur1").Worksheets("nom").Cells(0 + a, 1).Value = txt
b = 1
For Each feuille In Worksheets
nom = feuille.Name
Workbooks("Classeur1").Worksheets("nom").Cells(0 + a, 1 + b).Value = feuille.Name
b = b + 1
Next feuille
a = a + 1
Next classeur
Windows("Classeur1").Activate
Worksheets("nom").Activate
End Sub
Est-ce que ça correspond à ce que demandes ? -- D'une étincelle peut jaillir la lumière. |