XL 2016 Résumer de tableau

M@xu3L

XLDnaute Junior
Bonjour tous le monde,

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…

Cordialement
 
Solution
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
Si, avec la fonction suivante :
VB:
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 =...

sylvanu

XLDnaute Barbatruc
Supporter XLD
Si cette ligne marche :
VB:
If Not IsError(Application.Match("Date", [B:B], 0)) Then
et pas celle là :
Code:
If Not IsError(Application.Match("Date", Sheets("Résultats").[B:B], 0)) Then
C'est que la feuille Résultats n'existe pas, ou qu'il y a une erreur de syntaxe.
Ou que le mot "Date" n'apparait pas en colonne B.
 

M@xu3L

XLDnaute Junior
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 ^^??
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
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
Si, avec la fonction suivante :
VB:
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.
 

Pièces jointes

  • résumé d'utilisation (V6).xlsm
    22.5 KB · Affichages: 2

M@xu3L

XLDnaute Junior
Si, avec la fonction suivante :
VB:
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.
Parfait nickel merci beaucoup ^^
 

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 293
Membres
103 171
dernier inscrit
clemm