bonjour Ghareeb,
Comme vous pouvez le voir, la macro ignore les feuilles comme "Copie", "Dépenses", ... . et ignore aussi les feuilles dont la ligne 5 ne contient pas "Date", "Valeur","
Puis elle prend à partir de la ligne 6 toutes les lignes avec un chiffre (ici une date) dans la colonne A.
J'avais copié le début de votre macro, mais la ligne "on error resume next", vous pouvez la supprimer. Je préfère voir les erreurs, s'il y en a, au lieu de les ignorer.
For Each sh In Worksheets
With sh
On Error Resume Next '>>>> A SUPPRIMER !!!!!
Select Case sh.Name
Case "Copie", "Recettes", "Dépenses", "Base de données", "Recherche", "Param" 'Ici on exclut les onglets qu’on ne veut pas
Case Else
aA = sh.UsedRange.Resize(, 7).Value2
If .Range("A5").Value = "Date" And .Range("B5").Value = "Valeur" Then 'vérifier si la ligne 5 contient "date", "valeur, éventuellement les autres aussi
For i = 6 To UBound(aA)
If Len(aA(i, 1)) > 0 And IsNumeric(aA(i, 1)) Then 'la colonne A n'est pas vide et est numérique
PS. nouveau fichier avec le nom de la feuille en colonne A