Moyenne de valeurs pour des lignes manquantes
Résolu
HeilyHeily
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
Raymond PENTIER Messages postés 58998 Date d'inscription Statut Contributeur Dernière intervention -
Raymond PENTIER Messages postés 58998 Date d'inscription Statut Contributeur Dernière intervention -
Bonsoir tout le monde,
Je suis un bon gros novice en VBA/macro et malgré avoir débroussaillé partout sur le web, je n'ai trouvé de solution. Donc, voilà, je m'en remets à vous.
Bref, j'ai un fichier où sont rangés en première colonne les dates, et le reste, des valeurs (des taux pour être plus précis). Soit à peu près ça (excusez mes erreurs s'il y en a, je suis encore novice ici):
01/02/1999 | 3,2 | 3,1| 2,4| 3,4| 3,5|
02/02/1999 | 2,2 | 3,2| 3,4| 2,3| 4,5|
03/02/1999 |
04/02/1999 |
05/02/1999 |
06/02/1999 | 3,2 | 3,2| 3,5| 2,2| 3,5|
07/02/1999 |
et ainsi de suite jusqu'en 2015, et il manque sur certaines lignes des valeurs. (en fait, j'ai du insérer les lignes manquantes par macro ).
Donc pour la suite, je dois créer une boucle où la macro parcours chaque ligne, et quand elle voit une ligne vide, elle fait la moyenne entre les valeurs du haut et du bas pour chaque colonne, donc une moyenne des valeurs qui les encadrent. Ici donc, une moyenne entre 2,2 et 3,2 pour la 2ème colonne à la date du 03/02/1999, 3,2 et 3,2 pour la 3ème colonne même date, et ainsi de suite...
Pour 04/02/1999, à la première colonne, on aura donc une moyenne entre la valeur obtenue de 03/02/1999 et 3,2 (valeur du 06/02/1999).
Donc, si vous me suivez bien, je pense que les valeurs de 03/02/1999 et 04/02/1999 seront légèrement différentes. Même chose pour 05/02/1999.
J'espère qu'une âme charitable voudra bien m'aider dans ma galère.
Merci grandement d'avance
Je suis un bon gros novice en VBA/macro et malgré avoir débroussaillé partout sur le web, je n'ai trouvé de solution. Donc, voilà, je m'en remets à vous.
Bref, j'ai un fichier où sont rangés en première colonne les dates, et le reste, des valeurs (des taux pour être plus précis). Soit à peu près ça (excusez mes erreurs s'il y en a, je suis encore novice ici):
01/02/1999 | 3,2 | 3,1| 2,4| 3,4| 3,5|
02/02/1999 | 2,2 | 3,2| 3,4| 2,3| 4,5|
03/02/1999 |
04/02/1999 |
05/02/1999 |
06/02/1999 | 3,2 | 3,2| 3,5| 2,2| 3,5|
07/02/1999 |
et ainsi de suite jusqu'en 2015, et il manque sur certaines lignes des valeurs. (en fait, j'ai du insérer les lignes manquantes par macro ).
Donc pour la suite, je dois créer une boucle où la macro parcours chaque ligne, et quand elle voit une ligne vide, elle fait la moyenne entre les valeurs du haut et du bas pour chaque colonne, donc une moyenne des valeurs qui les encadrent. Ici donc, une moyenne entre 2,2 et 3,2 pour la 2ème colonne à la date du 03/02/1999, 3,2 et 3,2 pour la 3ème colonne même date, et ainsi de suite...
Pour 04/02/1999, à la première colonne, on aura donc une moyenne entre la valeur obtenue de 03/02/1999 et 3,2 (valeur du 06/02/1999).
Donc, si vous me suivez bien, je pense que les valeurs de 03/02/1999 et 04/02/1999 seront légèrement différentes. Même chose pour 05/02/1999.
J'espère qu'une âme charitable voudra bien m'aider dans ma galère.
Merci grandement d'avance
A voir également:
- Moyenne de valeurs pour des lignes manquantes
- Excel moyenne - Guide
- Partager des photos en ligne - Guide
- Excel liste de valeurs - Guide
- Moyenne en anglais excel - Guide
- Cette valeur ne correspond pas aux restrictions de validation des données pour cette cellule ✓ - Forum Excel
2 réponses
Bonsoir
Un exemple de macro d'après tes données :
http://www.cjoint.com/c/ELkw5W6ElT7
La macro colore en même temps les cellules vides qu'elle remplit ce qui permettra après de retrouver lesquelles ont été remplies "artificiellement"
Cdlmnt
Via
"L'imagination est plus importante que le savoir." A. Einstein
Un exemple de macro d'après tes données :
http://www.cjoint.com/c/ELkw5W6ElT7
La macro colore en même temps les cellules vides qu'elle remplit ce qui permettra après de retrouver lesquelles ont été remplies "artificiellement"
Cdlmnt
Via
"L'imagination est plus importante que le savoir." A. Einstein
Bon,ça devrait marcher mais j'ai oublié de préciser qu'il pouvait y avoir des cellules avec des variables indiquées "ND" soit non définies, au lieu de les avoir vide. Ce qui fait que je suis un peu coincé après l'ajout de cette condition.
Du coup, on a par exemple:
01/02/1999 | 3,2 | 3,1| 2,4| 3,4| 3,5|
02/02/1999 | 2,2 | 3,2| 3,4| 2,3| 4,5|
03/02/1999 |
04/02/1999 | ND| ND| ND| ND| ND|
05/02/1999 |
06/02/1999 | 3,2 | 3,2| 3,5| 2,2| 3,5|
07/02/1999 | 3,2 | 3,1| 2,4| 3,4| 3,5|
08/02/1999 | ND| ND| ND| ND| ND|
09/02/1999 |
10/02/1999 |
11/02/1999 | ND| ND| ND| ND| ND|
12/02/1999 | 2,2 | 3,2| 3,4| 2,3| 4,5|
13/02/1999 | 3,2 | 3,2| 3,5| 2,2| 3,5|
Si il y a moyen de remplacer les ND par une moyenne toujours
Il devrait suffire d'intégrer cette condition dans le IF :
et dans la boucle :
' Boucle tant que la cellule suivante est vide
Do While Cells(x, col) = "" Or Cells(x, col) = "ND"
Cdlmnt
Via
Ca marche nickel !!!!
Merci beaucop via55 :) :) :)