N'arrive pas à récuperer la valeur d'une cellule
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 blux le 5/12/2013 à 17:47
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 6 déc. 2013 à 00:57
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 6 déc. 2013 à 00:57
A voir également:
- N'arrive pas à récuperer la valeur d'une cellule
- Aller à la ligne dans une cellule excel - Guide
- Recuperer video youtube - Guide
- Comment récupérer un compte facebook piraté - Guide
- Recuperer message whatsapp - Guide
- Comment récupérer une adresse mail - Guide
8 réponses
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
5 déc. 2013 à 15:22
5 déc. 2013 à 15:22
Bonjour,
Comprend pas ! pourquoi des collections ?
Tu veux faire une moyenne de différentes cellules sur deux classeurs ?
A+
Comprend pas ! pourquoi des collections ?
Tu veux faire une moyenne de différentes cellules sur deux classeurs ?
A+
geoff's
Messages postés
30
Date d'inscription
vendredi 8 mars 2013
Statut
Membre
Dernière intervention
5 décembre 2013
5 déc. 2013 à 15:23
5 déc. 2013 à 15:23
La collection c'est que je fais la moyenne de plusieurs valeurs ds la meme cellule mais ds des fichiers excel différents. Quelque chose à voir ac mon pb tu pense?
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
5 déc. 2013 à 16:13
5 déc. 2013 à 16:13
Oui, mais tu te mélange les pinceaux !! :=)
Si je lis entre les lignes...
Tu veux la moyenne des plages O5:P6
Cumulées ou deux résultats ?
Si je lis entre les lignes...
Tu veux la moyenne des plages O5:P6
Cumulées ou deux résultats ?
geoff's
Messages postés
30
Date d'inscription
vendredi 8 mars 2013
Statut
Membre
Dernière intervention
5 décembre 2013
5 déc. 2013 à 16:17
5 déc. 2013 à 16:17
Euh, comprend pas trop :)
Pour t'expliquer j'ai 2 fichiers excel je veux en avoir un troisième qui serait la moyenne des 2 premiers.
Donc pour chaque cellule, je prends la valeur dans chaque fichier excel, fait la moyenne et met ca ds un troisième fichier.
Clair ou pas?
Sinon pourquoi je me mélange les pinceaux? que fais-je de mal :)?
Pour t'expliquer j'ai 2 fichiers excel je veux en avoir un troisième qui serait la moyenne des 2 premiers.
Donc pour chaque cellule, je prends la valeur dans chaque fichier excel, fait la moyenne et met ca ds un troisième fichier.
Clair ou pas?
Sinon pourquoi je me mélange les pinceaux? que fais-je de mal :)?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 5/12/2013 à 17:59
Modifié par lermite222 le 5/12/2013 à 17:59
Essaye quelque chose comme ça...
J'ai employé une boucle, je suppose que tu auras plus de deux classeurs à analyser.
J'ai pas testé, je n'ai pas tes classeurs.
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
Sub moyenne() Dim Wkb As Workbook Dim Classeurs Dim M() As Single Dim A As Range Dim i As Integer Classeurs = Array("C:\Excel\02_06_13\Prod Client.xlsm", "C:\Excel\02_07_13\Prod Client.xlsm") ReDim M(UBound(Classeurs) - 1) For i = 0 To UBound(Classeurs) - 1 With Workbooks.Open(Classeurs(i)) Set A = .Worksheets("General").Range("O5:P6") M(i) = Application.WorksheetFunction.Average(A) .Close End With Next i Workbooks.Open ("C:\Excel\Test") For i = 0 To UBound(Classeurs) - 1 Sheets("moyenne").Cells(5 + i, 15) = M(i) Next i End Sub
J'ai employé une boucle, je suppose que tu auras plus de deux classeurs à analyser.
J'ai pas testé, je n'ai pas tes classeurs.
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
Modifié par Polux31 le 5/12/2013 à 18:42
Modifié par Polux31 le 5/12/2013 à 18:42
Bonjour lermite,
C'est normal que le retour du MsgBox soit vide ... le code est incohérent.
Les variables sont initialisées à zéro dans la 2ème boucle For ... Next !!!
De plus, le For Each wkb In WBCollection n'est pas à sa place !!!
Et je ne parle pas des variables non déclarées ...
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
C'est normal que le retour du MsgBox soit vide ... le code est incohérent.
Les variables sont initialisées à zéro dans la 2ème boucle For ... Next !!!
De plus, le For Each wkb In WBCollection n'est pas à sa place !!!
For Each wkb In WBCollection Set myWk = Workbooks.Open(wkb) For Lig = 5 To 6 For Col = 15 To 16 total = total + CInt(myWk.Sheets("General").Cells(Lig, Col).Value) i = i + 1 Next Col Next Lig myWk.Close Set myWk = Nothing Next wkb
Et je ne parle pas des variables non déclarées ...
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
geoff's
Messages postés
30
Date d'inscription
vendredi 8 mars 2013
Statut
Membre
Dernière intervention
5 décembre 2013
5 déc. 2013 à 19:11
5 déc. 2013 à 19:11
Polux,
Si Wkb est bien a sa place. Je ne veux pas la moyenne d'un ensemble de cellules d'un fichier excel, je veux la moyenne d'une cellule de plusieurs fichiers excel.
Donc je veux un total en parcourant mes fichiers, faire la moyenne et la rentrer dans un autre fichier. Ensuite passer à une autre cellule.
Donc normal de reinitialiser quand je veux refaire une moyenne..
Le raisonnement dans mon code est bon, après je ne sais pas ce qui cloche je parcoure bien toutes mes cellules dans mes différents fichiers (enfin j'ai l'impression mais ca marche po :(
Lermite, pas tout compris ds ton code :/.
Si Wkb est bien a sa place. Je ne veux pas la moyenne d'un ensemble de cellules d'un fichier excel, je veux la moyenne d'une cellule de plusieurs fichiers excel.
Donc je veux un total en parcourant mes fichiers, faire la moyenne et la rentrer dans un autre fichier. Ensuite passer à une autre cellule.
Donc normal de reinitialiser quand je veux refaire une moyenne..
Le raisonnement dans mon code est bon, après je ne sais pas ce qui cloche je parcoure bien toutes mes cellules dans mes différents fichiers (enfin j'ai l'impression mais ca marche po :(
Lermite, pas tout compris ds ton code :/.
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 6/12/2013 à 00:58
Modifié par lermite222 le 6/12/2013 à 00:58
Je n'avais pas du tout compris comme ça avec tes explications précédantes.
Ce code devrait faire l'affaire.
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
Ce code devrait faire l'affaire.
Sub moyenne()
Dim Wks As Worksheet
Dim Classeurs
Dim i As Integer, Lig As Integer, Col As Integer, NB As Integer
Classeurs = Array("C:\Excel\02_06_13\Prod Client.xlsm", "C:\Excel\02_07_13\Prod Client.xlsm")
NB = UBound(Classeurs) - 1
Workbooks.Open ("C:\Excel\Test")
Set Wks = Sheets("Moyenne")
For i = 0 To NB
With Workbooks.Open(Classeurs(i))
With .Worksheets("General")
For Lig = 5 To 6
For Col = 15 To 16
Wks.Cells(Lig, Col) = Wks.Cells(Lig, Col) + .Cells(Lig, Col)
Next Col
Next Lig
End With
.Close
End With
Next i
For Lig = 5 To 6
For Col = 15 To 16
Wks.Cells(Lig, Col) = Wks.Cells(Lig, Col) / (NB + 1)
MsgBox "Moyenne " & Wks.Cells(Lig, Col).Address & Chr(13) _
& Wks.Cells(Lig, Col).Value
Next Col
Next Lig
End Sub
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .