Erreur 424: objet requis

Résolu
geoff's Messages postés 36 Statut Membre -  
geoff's Messages postés 36 Statut Membre -
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. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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.
    0
  2. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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


    0
  3. geoff's Messages postés 36 Statut Membre
     
    Ah ok merci beaucoup :)
    Désolé je suis débutant en vba
    0