• Initiateur de la discussion Initiateur de la discussion yaya78
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

yaya78

XLDnaute Nouveau
Bonjour a tous,

J'aurais besoin d'aide concernant une macro qui pourrait ma facilité le travail.
Je m'explique:
Je recupere en Excel un fichier d'acquisition de donnée sous la forme jointe en annexe.
Description
Colonne A : la date de l'essai
Colonne B : le temps de la mesure a partir du demarage de l'essai
Colonne C : La force verticale enregistrée par mon capteur
Colonne D : La force horizontale enregistrée par mon capteur
Colonne E : Le rapport des deux forces
Colonne F : une condition (qui pourrait etre innutile !!! on verra plus tard...)
Colonne G : Une autre condition importante celle là...

Voila pour la description...
Ce que j'aimerais, c'est une macro qui me permettrais d'executer tout les calculs des colonnes F et G, ainsi que le classement en colonne H de la totalité des cellules non-vides de G (dans l'ordre quelles se trouvent ... donc sans classement quelconque...) qui se positionneraient de H8 a H400 et avoir toujours en J5 le calcul de la moyenne de la colonne H.

Voila, j'espere que mes explications vous satisferont, quelles sont claires et que vous apporterez une solution a ma requete.
Cordialement.
 

Pièces jointes

Re : Un peu d'aide...SVP

à exécuter dans un module :
Code:
Option Explicit
Sub LaMacro()
Dim DerLigne As Long
    DerLigne = ActiveCell.SpecialCells(xlLastCell).Row
    Range("f8:g" & DerLigne).FormulaR1C1 = "=IF(ISNUMBER(RC[-3]),RC[-3]/RC[-2],"""")"
    Range("g8:g" & DerLigne).FormulaR1C1 = "=IF(RC[-1]<0.2,"""",IF(RC[-1]>1,"""",RC[-1]))"
    Range("i5").FormulaR1C1 = "VALEUR NET"
    Range("j5").FormulaR1C1 = "=AVERAGE(C[-3])"

    Range("A8").Select
    Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
    ActiveWindow.SmallScroll Down:=-18
    ActiveWorkbook.Worksheets("ratp3").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("ratp3").Sort.SortFields.Add Key:=Range("G8:G" & DerLigne), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("ratp3").Sort
        .SetRange Range("A8:J" & DerLigne)
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
 
Re : Un peu d'aide...SVP

Salut Bond...et merci de cette rapidité...

J'ai copié et collé la totalité de ce que tu as fait dans un module.
A l'execution de la macro, le message d'erreur est le suivant :

Erreur d'execution '438'
Propriete ou methode non geree par cet objet.

Un clic sur debogage m'indique la ligne :
ActiveWorkbook.Worksheets("ratp3").Sort.SortFields.Clear

??? je ne sais pas de quoi cela provient...???
Merci d'avance
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour