Moyenne de valeurs pour des lignes manquantes

Résolu/Fermé
HeilyHeily Messages postés 13 Date d'inscription jeudi 10 décembre 2015 Statut Membre Dernière intervention 23 avril 2016 - 10 déc. 2015 à 20:19
Raymond PENTIER Messages postés 58392 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 22 avril 2024 - 16 janv. 2016 à 00:00
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
A voir également:

2 réponses

via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
Modifié par via55 le 11/12/2015 à 00:00
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
0
HeilyHeily Messages postés 13 Date d'inscription jeudi 10 décembre 2015 Statut Membre Dernière intervention 23 avril 2016
Modifié par HeilyHeily le 11/12/2015 à 01:47
Super !!! en plus c'est simple à comprendre :)

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
0
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702 > HeilyHeily Messages postés 13 Date d'inscription jeudi 10 décembre 2015 Statut Membre Dernière intervention 23 avril 2016
11 déc. 2015 à 11:16
Re,

Il devrait suffire d'intégrer cette condition dans le IF :
'si cellule vide
        If Cells(lig, col) = "" Or Cells(lig, col) = "ND" Then

et dans la boucle :
' Boucle tant que la cellule suivante est vide
Do While Cells(x, col) = "" Or Cells(x, col) = "ND"

Cdlmnt
Via
0
HeilyHeily Messages postés 13 Date d'inscription jeudi 10 décembre 2015 Statut Membre Dernière intervention 23 avril 2016
15 janv. 2016 à 22:04
Génial !!!!!

Ca marche nickel !!!!

Merci beaucop via55 :) :) :)
0
Raymond PENTIER Messages postés 58392 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 22 avril 2024 17 095
16 janv. 2016 à 00:00

Quand tu estimes que ta discussion est close, clique sur Résolu !
0