Erreur 424: objet requis [Résolu/Fermé]

Signaler
Messages postés
30
Date d'inscription
vendredi 8 mars 2013
Statut
Membre
Dernière intervention
5 décembre 2013
-
Messages postés
30
Date d'inscription
vendredi 8 mars 2013
Statut
Membre
Dernière intervention
5 décembre 2013
-
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

Messages postés
12184
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
31 juillet 2020
2 462
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.
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 127
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




Messages postés
30
Date d'inscription
vendredi 8 mars 2013
Statut
Membre
Dernière intervention
5 décembre 2013

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