par
nergens » sam. 19 sept. 2015 09:57
Bonjour,
Votre sujet n'a jamais reçu de réponse et nous en sommes désolés...
Nous espérons sincèrement vous revoir bientôt si vous avez d'autres questions et nous ferons le maximum pour vous répondre le plus rapidement et complètement possible.
A bientôt
Bonjour,
Votre sujet n'a jamais reçu de réponse et nous en sommes désolés... :(
Nous espérons sincèrement vous revoir bientôt si vous avez d'autres questions et nous ferons le maximum pour vous répondre le plus rapidement et complètement possible.
A bientôt
:bonjour:
Bonjour,
Dans le cadre d'un projet, je dois calculer la moyenne des températures extérieures par jour pour toutes l'année.
Je suis débutante en VBA et j'avais pensé au code suivant :
Code : Tout sélectionnerSub temp_moy_24h()
Dim Derlig As Integer, Nbre_jours As Integer
Dim Lig As Integer, Jour As Integer, tab_temp_moy_ext
Dim T_jour As Range
Dim T_temp As Range
Dim oSh As Worksheet
Set oSh = Worksheets("Données inter PMV et DR")
For Lig = 2 To Derlig Step 24
Jour = Jour + 1
Set T_jour = oSh.Range(Cells(Lig, "A"), Cells(Lig, "B"))
Set T_temp = oSh.Range(Cells(Lig, "D"), Cells(Lig + 23, "D"))
tab_temp_moy_ext(Jour, 1) = T_jour(1, 1)
tab_temp_moy_ext(Jour, 2) = T_jour(1, 2)
tab_temp_moy_ext(Jour, 3) = Application.WorksheetFunction.Average(T_temp)
Next
'-----Restitutions des mesures
oSh.Range("AN2").Resize(UBound(tab_temp_moy_ext), 3) = tab_temp_moy_ext
End Sub
Cependant, j'ai plusieurs problèmes :
- J'ai un fichier où il y a déjà pas mal de macro et lorsque je lance cette macro, Excel m'indique une Erreur de type 1004 : La méthode 'Range' de l'objet 'Worksheet" a échoué alors que si je la teste dans un fichier où il n'y a aucune macro celle ci fonctionne
- Je n'arrive pas à avoir la moyenne pour chaque jour. Je pense qu'il y a un problème dans ma ligne de code :
Code : Tout sélectionnertab_temp_moy_ext(Jour, 3) = Application.WorksheetFunction.Average(T_temp)
Je sais que je pourrais utiliser un tableau dynamique, mais par la suite, je vais devoir exporter mes fichiers dans un autre logiciel donc je dois minimiser au minimum mes actions sur une feuille excel mais plutôt utiliser les modules.
En vous remerciant d'avance,
Bonjour,
Dans le cadre d'un projet, je dois calculer la moyenne des températures extérieures par jour pour toutes l'année.
Je suis débutante en VBA et j'avais pensé au code suivant :
[code]Sub temp_moy_24h()
Dim Derlig As Integer, Nbre_jours As Integer
Dim Lig As Integer, Jour As Integer, tab_temp_moy_ext
Dim T_jour As Range
Dim T_temp As Range
Dim oSh As Worksheet
Set oSh = Worksheets("Données inter PMV et DR")
For Lig = 2 To Derlig Step 24
Jour = Jour + 1
Set T_jour = oSh.Range(Cells(Lig, "A"), Cells(Lig, "B"))
Set T_temp = oSh.Range(Cells(Lig, "D"), Cells(Lig + 23, "D"))
tab_temp_moy_ext(Jour, 1) = T_jour(1, 1)
tab_temp_moy_ext(Jour, 2) = T_jour(1, 2)
tab_temp_moy_ext(Jour, 3) = Application.WorksheetFunction.Average(T_temp)
Next
'-----Restitutions des mesures
oSh.Range("AN2").Resize(UBound(tab_temp_moy_ext), 3) = tab_temp_moy_ext
End Sub[/code]
Cependant, j'ai plusieurs problèmes :
- J'ai un fichier où il y a déjà pas mal de macro et lorsque je lance cette macro, Excel m'indique une Erreur de type 1004 : La méthode 'Range' de l'objet 'Worksheet" a échoué alors que si je la teste dans un fichier où il n'y a aucune macro celle ci fonctionne
- Je n'arrive pas à avoir la moyenne pour chaque jour. Je pense qu'il y a un problème dans ma ligne de code :
[code]tab_temp_moy_ext(Jour, 3) = Application.WorksheetFunction.Average(T_temp) [/code]
Je sais que je pourrais utiliser un tableau dynamique, mais par la suite, je vais devoir exporter mes fichiers dans un autre logiciel donc je dois minimiser au minimum mes actions sur une feuille excel mais plutôt utiliser les modules.
En vous remerciant d'avance,