Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1597 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Comment créer une fonction personnalisée MAX?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment créer une fonction personnalisée MAX?

n°985276
bisoo
Posté le 17-02-2005 à 18:57:11  profilanswer
 

Bonjour,
 
J'ai un problème avec une fonction qui ne veut pas fonctionner sous Excel :fou: .
 
Voilà un bout de ce que j'ai fait... et c'est là que cela ne marche pas   :cry:  
 
Function maximum(plage)
 
Dim i As Long
Dim Min As Variant
 
Min = plage(LBound(plage))
For i = LBound(plage) To UBound(plage)
If plage(i) > Min Then maximum = plage(i)
 
Next i
 
End Function
 
Merci d'avance si vous pouvez me donner un coup de pouce :)


Message édité par bisoo le 17-02-2005 à 19:00:25
mood
Publicité
Posté le 17-02-2005 à 18:57:11  profilanswer
 

n°986227
tagadatsou​intsouin
Posté le 18-02-2005 à 15:20:04  profilanswer
 

Il y a 1,5 choses qui ne vont pas:
 
1. Si tu stockes le premier element de la plage dans une variable, toute valeur de la plage qui lui est supérieure se stockera dans maximum. Par exemple, si le dernier element de ta plage est supérieur au premier mais n'est pas le premier absolu, maximum resortira le dernier. Ca doit pas etre l'effet recherché  :pt1cable:  
1,5. Tout dépend de ce que tu veux classer. Si c'est des string, alors ton code est bon, tu auras la lettre la plus en bas d'une liste classée un peu comme les noms de fichiers de windows (1, 10, 11, 12, .., 2, 21, ...). Par contre si tu veux classer des nombres, il faut les convertir en integer ou double.
 
Le bon code serait donc plutot

Code :
  1. Function maximum(plage)
  2. Dim i As Long
  3. 'Dim Min As Variant
  4. maximum = plage(LBound(plage))
  5. For i = LBound(plage) To UBound(plage)
  6. If IsNumeric(plage(i)) And IsNumeric(maximum) Then
  7.   If Val(plage(i)) >= Val(maximum) Then maximum = plage(i)
  8. Else
  9.   If plage(i) >= maximum Then maximum = plage(i)
  10. End If
  11. Next i
  12. End Function


Voila !

n°986447
bisoo
Posté le 18-02-2005 à 17:22:27  profilanswer
 

Merci pour les explications :-)! ... Bon çà fonctionne pas sur mon ordi, mais je le soupçonne depuis un certain temps d'avoir quelques problèmes.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Comment créer une fonction personnalisée MAX?

 

Sujets relatifs
creer x fois le meme fichierproblème avec fonction FOREACH
Fonction tri qui plante mon codeCreer son langage de programmation
Peut etre simple si une fonction existefonction javascript pour ouvrir un explorer de fichier
utiliser fonction mail() chez freeCreer un .exe pour lancer une appli java (pas la compiler, hein) ?
recherche d'une fonction phpComment créer une Vue matérialisée (sur Oracle 9i)?
Plus de sujets relatifs à : Comment créer une fonction personnalisée MAX?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR