Erreur 424: objet requis

Résolu
Bonjour,

J'essaie de faire un code qui ferait une moyenne de toutes les données de différents fichiers excel.
J'en suis qu'au debut, mais j'ai une erreur que je ne comprends pas à la ligne total = total + ... (Voir code).
Quelqu'un saurait-il m'éclairer :)?

Voici le code:
Sub Test()

            Dim i As Integer
            Dim total As Integer
            Dim moyenne As Integer

            i = 0
            total = 0

Set WBCollection = New Collection
WBCollection.Add "C:\Excel\02_06_13\Prod Client.xls"
WBCollection.Add "C:\Excel\02_07_13\Prod Client.xls"

            For Each wkb In WBCollection
            
                        total = total + wkb.Worksheet("Feuil1").Range("C22").Value
                        i = i + 1
    
            Next

            moyenne = total / i
            

End Sub


Merci d'avance pour votre aide!

3 réponses

  1. Modérateur
    Bonjour,

    Pour accéder aux données d'un classeur, il faut soit l'ouvrir, soit utiliser une méthode de lecture dans un fichier fermé comme ADO.

    Dans ton cas, tu ne fais ni l'un ni l'autre...

    Essaye déjà en ouvrant et fermant tes classeurs.
    1. Bonjour,

      Pour compléter Pikaju, tu ne stockes qu'une adresse dans ta collection et non un fichier Excel.

      Dim myWk as Workbook
      '....
      
      For Each wkb In WBCollection
             Set myWk = Workbooks.Open(wkb)
             total = total + myWk.Worksheet("Feuil1").Range("C22").Value
             i = i + 1
             MyWk.Close
             Set myWk = Nothing
      Next


      1. Ah ok merci beaucoup :)
        Désolé je suis débutant en vba