Challenge....formule/macro excell ?

Pour toutes vos questions à propos d'Excel ...

Challenge....formule/macro excell ?

Messagepar Angel2679 » 19 Sep 2010, 12:37

Bonjour à vous,
Voici mon challenge.
J'ai 1 colonne avec des valeurs numériques et des vides distribuées de façon aléatoires :
10
-
-
-
20
30
40
-
50
-.....
Je souhaiterais trouver une formule/macro qui me remplace les vides par la moyenne de des cellules juste au dessus et au dessous. Lorsqu'il n'y a qu'une cellule vide ,pas de probleme. Mais les problemes arrivent quand plusieurs cellules vides se suivent.... Je pensais à une formule du type : = Cellule au dessus+[(cellule dessous-cellule dessus)/nombre de cellule vide+1]. Mais je ne vois pas comment faire cette formule dans excell ?

Quelqu'un aurait-il une solution ?

Merci et bonne journée !
Angel2679
Nouveau venu
 
Messages: 1
Inscription: 19 Sep 2010, 12:34
Version Excel: 2007 FR

Re: Challenge....formule/macro excell ?

Messagepar Nad » 19 Sep 2010, 19:31

Bonjour et bienvenue

Peux-tu, sur l'exemple que tu donnes, noter les résultats que tu attends.

A te relire
Amicalement
Nad
Avatar de l’utilisateur
Nad
Modérateur
 
Messages: 3152
Inscription: 16 Mars 2008, 21:05
Localisation: BAYONNE
Version Excel: 2003 FR - 2007 FR

Re: Challenge....formule/macro excell ?

Messagepar cousinhub » 20 Sep 2010, 11:32

Bonsoir,

Bonsoir, Nad

Si j'ai bien compris, et si la colonne à remplir est la colonne A (et bien entendu, qu'il n'y ait que des nombres dans cette colonne)...

Essaie ce code :

Code: Tout sélectionner
Sub Remplir_Par_Moyenne()
Dim Ar As Range
For Each Ar In Columns("A:A").SpecialCells(xlCellTypeBlanks).Areas
    Ar = Application.Average(Ar(0), Ar(Ar.Count + 1))
Next Ar
End Sub
 


Bonne soirée

Edit,

Et si tu veux une progression linéaire, tu peux essayer ainsi :

Code: Tout sélectionner
Sub Remplir_Par_Moyenne2()
Dim Ar As Range, Cel As Range
Dim I As Byte
For Each Ar In Columns("A:A").SpecialCells(xlCellTypeBlanks).Areas
    I = 1
    For Each Cel In Ar
        Cel = Ar(0) + I * ((Ar(Ar.Count + 1) - Ar(0)) / ((Ar.Count) + 1))
        I = I + 1
    Next Cel
Next Ar
End Sub
 


Bonne soirée
1/ on se demande à quoi servent les correcteurs d'orthographe....
2/ Notre seule récompense est un "Merci".....
cousinhub
Membre dévoué
 
Messages: 928
Inscription: 28 Mai 2009, 22:18
Localisation: Brest
Version Excel: xl 2003, xl 2007


Retourner vers Excel - VBA

 


  • Sujets similaires
    Réponses
    Vus
    Dernier message

Utilisateurs en ligne

Utilisateurs parcourant ce forum: Bing [Bot], Google Adsense [Bot] et 23 invités