faire une liste de divers valeurs dans un nombre aléatoire de feuilles.

L

Laurent

Guest
bonjour,

est il possible de faire s'afficher dans une feuille une liste genre le A1 et B1 de la feuille 1, en dessous le A1 et B1 de la feuille 2 .....

j'ai nommé aaaaa et zzzzz mes premieres et dernieres feuilles pour pouvoir les trier.

merci
 
M

michel

Guest
bonsoir Laurent

l'exemple joint permet de trier les onglets du classeur par ordre alphabetique , créer une nouvelle feuille ( placée au debut ) puis boucler sur les feuilles pour y récupérer les données des cellules A1 et B1


Sub BoucleFeuilles()
Dim I As Byte, j As Byte, X As Byte
Dim WS As Worksheet

Application.ScreenUpdating = False
For Each WS In ActiveWorkbook.Sheets 'boucle pour trier les feuilles par ordre alphabetique
For X = 2 To ActiveWorkbook.Sheets.Count
If Sheets(X - 1).Name > Sheets(X).Name Then
Sheets(X - 1).Move After:=Sheets(X)
End If
Next
Next

Sheets.Add before:=Worksheets(1) 'creer une nouvelle feuille pour recuperer les donnees

For I = 1 To Sheets.Count 'boucle pour recuperer les données
If Not ActiveSheet.Name = Sheets(I).Name Then
j = j + 1
Cells(j, 1) = Sheets(I).Cells(1, 1)
Cells(j, 2) = Sheets(I).Cells(1, 2)
End If
Next I

Application.ScreenUpdating = True

End Sub


bonne soiree
MichelXld
 
L

Laurent

Guest
merci,
par contre ma feuille de stat existe déja, et je ne sais pas comment tu l'appelle .

de plus est il possible de le faire par rapport a une date genre :

aujourdhui le jjmmaa alors si dans un liste de cellule genre de A1 à a18 d'une feuille presente dans le fichier excel alors rapatrier les cellules B1 et C1 sur ma feuille de synthese deja existante

merci
 
M

michel

Guest
bonjour Laurent

pour la premiere partie de ta question tu peux essayer :
( dans cet exemple la feuille est nommée 'Stats" )

Sub BoucleFeuilles()
Dim I As Byte, j As Byte, X As Byte
Dim WS As Worksheet

Application.ScreenUpdating = False
For Each WS In ActiveWorkbook.Sheets 'boucle pour trier les feuilles par ordre alphabetique
For X = 2 To ActiveWorkbook.Sheets.Count
If Sheets(X - 1).Name > Sheets(X).Name Then
Sheets(X - 1).Move After:=Sheets(X)
End If
Next
Next

For I = 1 To Sheets.Count 'boucle pour recuperer les données
If Not Sheets(I).Name = "Stats" Then ' adapter le nom de la feuille
j = j + 1
Sheets("Stats").Cells(j, 1) = Sheets(I).Cells(1, 1)' adapter le nom de la feuille
Sheets("Stats").Cells(j, 2) = Sheets(I).Cells(1, 2)' adapter le nom de la feuille
End If
Next I

Application.ScreenUpdating = True
End Sub


par contre je n'ai pas compris la deuxieme partie de ton message


bonne journée
MichelXld
 

Discussions similaires