Page précédente | Page suivante | Page : 1

problème pour résoudre un exercice en excel avec VBA
Hors ligne Imeys Le 10/10/2005 à 18:16 Profil de Imeys Configuration de Imeys
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
Hors ligne Lebabs Le 13/11/2005 à 12:29 Profil de Lebabs Configuration de Lebabs
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.
Hors ligne Imeys Le 13/11/2005 à 12:38 Profil de Imeys Configuration de Imeys
ben merci, je ne lavais pas fini donc je vais essayer ton code
Hors ligne Lebabs Le 13/11/2005 à 14:18 Profil de Lebabs Configuration de Lebabs
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.
Hors ligne Imeys Le 14/11/2005 à 12:01 Profil de Imeys Configuration de Imeys
oui c ce que je voulais et ca fonctionne.
Merci bcp

Page précédente | Page suivante | Page : 1

Aide informatique | Communauté d'entraide informatique | Aide informatique | Forum d'assistance informatique | Forum-Vista | Formation informatique | Forum Informatique | Devenir partenaire