Erreur 424: objet requis

Résolu/Fermé
geoff's Messages postés 30 Date d'inscription vendredi 8 mars 2013 Statut Membre Dernière intervention 5 décembre 2013 - Modifié par pijaku le 4/12/2013 à 12:32
geoff's Messages postés 30 Date d'inscription vendredi 8 mars 2013 Statut Membre Dernière intervention 5 décembre 2013 - 4 déc. 2013 à 12:59
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 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
4 déc. 2013 à 12:33
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 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
4 déc. 2013 à 12:41
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 30 Date d'inscription vendredi 8 mars 2013 Statut Membre Dernière intervention 5 décembre 2013
4 déc. 2013 à 12:59
Ah ok merci beaucoup :)
Désolé je suis débutant en vba
0