Calcul de moyenne

fitts 6 Messages postés mercredi 4 novembre 2009Date d'inscription 1 décembre 2009 Dernière intervention - 30 nov. 2009 à 14:45 - Dernière réponse : fitts 6 Messages postés mercredi 4 novembre 2009Date d'inscription 1 décembre 2009 Dernière intervention
- 1 déc. 2009 à 08:17
Bonjour à tous, je débute dans le VBA.

Je vous explique mon problème

J'au graphique montrant une courbe sinusoïdale au début et qui se stabilise au fur et à mesure, jusqu'à devenir à peut près constante.

Je possède sur une feuille annexe une colonne regroupant tout les points de la courbe.

Je connais la cellune de départ de la colonne (dc du premier point) mais pas la dernière, car le nombre de valeurs varient en fonction l'essai.

Pour en venir à mon problème : Je dois calculer la moyenne des points en ne selectionnant uniquement que les points du palier stable

Pour les conditions : Je dois tester une 100taines de points avant de conclure qu'un point est valide.
La température du palier est attendu et dc connu, un point est valide que s'il est compris entre ( ex : 500°C + ou - 5 )

J'ai besoin qu'on m'éclair
Voilà j'espere avoir été assé précis

Merci
Afficher la suite 

3 réponses

Répondre au sujet
youdream 29 Messages postés samedi 22 octobre 2005Date d'inscription 21 mars 2011 Dernière intervention - 30 nov. 2009 à 20:03
0
Utile
Salut fitts


Si j'ai bien compris ce que tu demandes, ca donnerai un truc comme ca

Sub NomMacro()

    Dim iLigne As Integer
    Dim dBorneSup, dBorneInf As Double
    Dim sFormule As String

    dBorneSup = 500 + ((500 * 5) / 100)
    dBorneInf = 500 - ((500 * 5) / 100)

    iLigne = 1 'Ligne à la quelle tu commence
    
    sFormule = "=MOYENNE("

    Do While Cells(iLigne, "A") <> ""

        If Cells(iLigne, "A") >= dBorneInf And Cells(iLigne, "A") <= dBorneSup Then
        
            If sFormule = "=MOYENNE(" Then
            
                sFormule = sFormule & "A" & iLigne
                
            Else

                sFormule = sFormule & ";" & "A" & iLigne
            
            End If

        End If
        
        iLigne = iLigne + 1

    Loop
    
    sFormule = sFormule & ")"
    Cells(1, "C").FormulaLocal = sFormule

End Sub


Bonne continuation.
Commenter la réponse de youdream
fitts 6 Messages postés mercredi 4 novembre 2009Date d'inscription 1 décembre 2009 Dernière intervention - 1 déc. 2009 à 07:39
0
Utile
Merci beaucoup,

Je vais essayer ça de suite. Je te tiens au courant
Commenter la réponse de fitts
fitts 6 Messages postés mercredi 4 novembre 2009Date d'inscription 1 décembre 2009 Dernière intervention - 1 déc. 2009 à 08:17
0
Utile
En fait j'ai un message d'erreur sur :

'Cells(1, "C").FormulaLocal = sFormule'

Et si je comprend bien et adapté à mon cas. Ton code doit me donner :

Sub NomMacro()

Dim iLigne As Integer
Dim dBorneSup, dBorneInf As Double
Dim sFormule As String

dBorneSup = 500 + 5
dBorneInf = 500 - 5

iLigne = 39 ' Première ligne de ma colonne
sFormule = "=MOYENNE("

Do While Cells(iLigne, "B") <> "" ' Je travail en colonne B

If Cells(iLigne, "B") >= dBorneInf And Cells(iLigne, "B") <= dBorneSup Then

If sFormule = "=MOYENNE(" Then

sFormule = sFormule & "B" & iLigne

Else

sFormule = sFormule & ";" & "A" & iLigne

End If

End If

iLigne = iLigne + 1

Loop

sFormule = sFormule & ")"
Cells(36, "B").FormulaLocal = sFormule ' Je veux mon résultat en cellule B36

End Sub

Mais la dernière ligne ne marche pas (surligné en jaune)
Commenter la réponse de fitts

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.