Merci, je vais le tester!
Je suis en milieu hospitalier et en fait à partir de données à tranferer (péniblement à la main de fichiers .dat ou .txt) je voulais un smoothing, c'est à dire un lissage de façon à diminuer les pics ou chutes dues au bruit de l'électronique d'acquisition.
Je fais tout manuellement, arrivé au solveur, c'est bon, mais auparavant, l'horreur! -sourire-
Question : on peut rétirer ce procéder ou y a-t-il une boucle qui remonte au début jusqu'à ce que tout soit lisser?
Merci!
Thierrypp
THIERRYPP
-------------------------------
Réponse au message :
-------------------------------
Voici le code correspondant à ta demande (si j'ai bien compris !)
Sub Ménage() Dim Ligne As Integer 'parcours les cellules Dim Colonne As Integer 'colonne où on veut faire le ménage ' initialisation Colonne = 3 ' si c'est la colonne B qui nous intéresse Ligne = 2 ' si pas d'en-tête ' boucle Do While Cells(Ligne, Colonne) <> "" 'jusqu'à la première cellule vide If Cells(Ligne, Colonne) > Cells(Ligne - 1, Colonne) * 1.01 Then 'condition à vérifier ' on remplace la valeur de la cellule Cells(Ligne, Colonne) = (Cells(Ligne - 1, Colonne) + Cells(Ligne, Colonne)) / 2 End If Ligne = Ligne + 1 Loop End Sub
|
Jolie fleur
-------------------------------
Réponse au message :
-------------------------------
THIERRYPP
Bonjour,
Comment procéder automatiquent à une élimination de cellule dans une colonne lorsque celle-ci à une valeur supérieure à 10% de la précédente et la remplacer par la moyenne de l'actuelle et la précédente?
Merci,
Bonne journée!