Tri sur cellules Excel avec VBA

Signaler
Messages postés
31
Date d'inscription
vendredi 7 juin 2002
Statut
Membre
Dernière intervention
1 septembre 2002
-
Messages postés
31
Date d'inscription
vendredi 7 juin 2002
Statut
Membre
Dernière intervention
1 septembre 2002
-
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!

2 réponses

Messages postés
2
Date d'inscription
mardi 17 septembre 2002
Statut
Membre
Dernière intervention
18 septembre 2002

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
0
Messages postés
31
Date d'inscription
vendredi 7 juin 2002
Statut
Membre
Dernière intervention
1 septembre 2002

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
0