Je viens vers vous afin de savoir si c'est possible ou non mon idée. Je m'explique j'ai plusieurs tableau de données dans plusieurs fichiers ou la seule valeurs commune à ces tableaux serait la dates.
Serait-il possible de créer un fichier Excel qui va pouvoir chercher dans tous ces fichiers la dernières date inscrit dans ces fichiers?
Je ne sais pas si je m'exprime correctement ou pas mais n'hésiter pas a me dire pour plus d'info…
Function FeuilleExiste(Nom As String) As Boolean
On Error Resume Next
FeuilleExiste = Sheets(Nom).Name <> ""
On Error GoTo 0
End Function
Elle renvie True si la feuille existe, False si elle n'existe pas.
Dans ma PJ "résumé d'utilisation" le code modifié donnerait :
Code:
If Fichier <> FichierCourant Then
Workbooks.Open Filename:=CheminFichier
If FeuilleExiste("Résultats") = True Then ' Vérification si feuille existe
If Not IsError(Application.Match("Date", Sheets("Résultats").[B:B], 0)) Then
DateMax =...
Effectivement je me suis arrêté sur le fait que sa ne lirai pas le fichier si il n'y a pas la date en colonne B mais il n'y avait pas le terme Résultats seule il y avait parfois autre chose d'écrit avec et donc bloquait tous merci beaucoup ^^
Et il n'y a pas moyen que le code evite les fichier ou il n'y a pas l'onglet résultats par exemple ^^??
Function FeuilleExiste(Nom As String) As Boolean
On Error Resume Next
FeuilleExiste = Sheets(Nom).Name <> ""
On Error GoTo 0
End Function
Elle renvie True si la feuille existe, False si elle n'existe pas.
Dans ma PJ "résumé d'utilisation" le code modifié donnerait :
Code:
If Fichier <> FichierCourant Then
Workbooks.Open Filename:=CheminFichier
If FeuilleExiste("Résultats") = True Then ' Vérification si feuille existe
If Not IsError(Application.Match("Date", Sheets("Résultats").[B:B], 0)) Then
DateMax = Application.Max(Sheets("Résultats").[B:B])
Workbooks(Fichier).Close SaveChanges:=False
NomFichier = Fichier
Cells(Lw, "A") = Mid(NomFichier, 1, Len(NomFichier) - 5)
Cells(Lw, "B") = DateMax
Lw = Lw + 1
Else
Workbooks(Fichier).Close SaveChanges:=False
End If
Else
MsgBox "Feuille Résultats n'existe pas dans le fichier :" & Chr(10) & CheminFichier
Workbooks(Fichier).Close SaveChanges:=False
End If
End If
J'ai rajouté un message si elle n'existe pas. Supprimez Msgbox... si message inutile.
Function FeuilleExiste(Nom As String) As Boolean
On Error Resume Next
FeuilleExiste = Sheets(Nom).Name <> ""
On Error GoTo 0
End Function
Elle renvie True si la feuille existe, False si elle n'existe pas.
Dans ma PJ "résumé d'utilisation" le code modifié donnerait :
Code:
If Fichier <> FichierCourant Then
Workbooks.Open Filename:=CheminFichier
If FeuilleExiste("Résultats") = True Then ' Vérification si feuille existe
If Not IsError(Application.Match("Date", Sheets("Résultats").[B:B], 0)) Then
DateMax = Application.Max(Sheets("Résultats").[B:B])
Workbooks(Fichier).Close SaveChanges:=False
NomFichier = Fichier
Cells(Lw, "A") = Mid(NomFichier, 1, Len(NomFichier) - 5)
Cells(Lw, "B") = DateMax
Lw = Lw + 1
Else
Workbooks(Fichier).Close SaveChanges:=False
End If
Else
MsgBox "Feuille Résultats n'existe pas dans le fichier :" & Chr(10) & CheminFichier
Workbooks(Fichier).Close SaveChanges:=False
End If
End If
J'ai rajouté un message si elle n'existe pas. Supprimez Msgbox... si message inutile.