utilisation de EQUIV dans une macro

  • Initiateur de la discussion Jean-Yves
  • Date de début
J

Jean-Yves

Guest
Bonjour à tous,

j'aimerais rechercher des valeurs dans plusieurs feuilles (la valeur à rechercher étant différente pour chaque feuille) et en extraire le n° de ligne correspondant. je fais ensuite le maximum des valeurs situées aux alentours de la valeur recherchée.

j'ai donc fait ceci:

For n = 1 To 36
Sheets(CStr(n)).Activate
i = '=EQUIV(Sheets(1).Cells(n+1,2).Value ; Sheets(CStr(n)).Range('A:A') ; 1)'
Sheets(1).Cells(n + 1, 3).Value = '=MAX(Cells(i-2,4).Value,Cells(i-1,4).Value,Cells(i,4).Value,Cells(i+1,4).Value,Cells(i+2,4).Value) '
Next n

Mais bon visiblement j'ai pas encore tout compris à l'utilisation des fonctions excel dans les macros...==>marche pas

Merci de vous interesser à ce facheux problème.
 

pierrejean

XLDnaute Barbatruc
bonjour Jean-Yves

tes feuilles sont bien classées ??

si tu nous disais en bon français ce que tu souhaites cela irait mieux

parceque ta traduction de formules n'est pas vraiment claire

le mieux est toujours un fichier exemple avec quelques données de depart et le resultat souhaté
 
J

Jean-Yves

Guest
Suivant les conseils de PierreJean, voici une partie de mon fichier.

En réalité, mon fichier présente 36 pages similaires à la pages 1 (ces pages font qqch comme 8000 lignes).

La macro devrait donc rechercher la valeur 3.0833 (feuille R1 - air cellule B2) dans la colonne 'A' de la feuille '1'. Le numéro de la ligne correspondante est alors placé dans la variable i.
Ensuite, je prends le maximum des valeurs voisines de la cellule (i,4) (dans la feuille '1') et je retourne cette valeure).

Voila j'espère avoir été compréhensible.

Merci

NB : petit clin d'oeil à pierrejean qui reconnaitra sa macro 'rangement'. [file name=test2_20060505103109.zip size=14475]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/test2_20060505103109.zip[/file]
 

Pièces jointes

  • test2_20060505103109.zip
    14.1 KB · Affichages: 33

pierrejean

XLDnaute Barbatruc
re

avant de me lancer dans l'etude je voudrais savoir

1) la valeur cherchée existe-t-elle a coup sur ??
2) peut-elle se trouver en plusieurs exemplaires ?
si oui que faire ??
3)les valeurs voisines sont a prendre aussi dans la colonne A ??
le 4 represente le nombre de voisines ??
sinon combien de voisines ??
ou le decalage pour arriver en colonne D ??
 
J

j-y

Guest
1) la valeur cherchée existe-t-elle a coup sur ??
2) peut-elle se trouver en plusieurs exemplaires ?
si oui que faire ??
3)les valeurs voisines sont a prendre aussi dans la colonne A ??
le 4 represente le nombre de voisines ??
sinon combien de voisines ??
ou le decalage pour arriver en colonne D ??

re-Bonjour PierreJean,

1)la valeur cherchée n'existe pas nécessairement. Dans ce cas, c'est la ligne de la valeur la plus proche qu'il faut prendre.

2) La valeur cherchée ne peut pas se trouver en plusieurs exemplaires (la colonne étant triée par ordre croissant et sans doublons)

3) Les valeurs voisines sont à prendre dans la colonne amplitude (en fait je cherche l'amplitude correspondant à peu près à la fréquence de la feuille 'R1-air'

le 'cells(i,4) représente justement la ligne i de la colonne 'amplitude' = colonne 'D' = colonne 4

Si tu as d'autres questions, n'hésite pas.
 

pierrejean

XLDnaute Barbatruc
re Jean-Yves

en module3 tu trouveras une macro qui doit faire ce que tu souhaites

le resultat est un peu surprenant mais du aux valeurs d'essai

ps: tu peux revenir sur le fil si probleme (mais egalement quand ça fonctionne ) [file name=test2_20060505141247.zip size=14865]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/test2_20060505141247.zip[/file]
 

Pièces jointes

  • test2_20060505141247.zip
    14.5 KB · Affichages: 84

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 370
Messages
2 087 691
Membres
103 641
dernier inscrit
anouarkecita2