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

pijaku Messages postés 13513 Statut Modérateur 2 763
 
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
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
geoff's Messages postés 36 Statut Membre
 
Ah ok merci beaucoup :)
Désolé je suis débutant en vba
0