Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA---Valeur maximum d'un test IF.

  • Initiateur de la discussion JJ1
  • Date de début
J

JJ1

Guest
Bonjour,

Je voudrais votre avis concernant le résultat d'un test If dans un code tout simple (2 boucles).
(ne pas intégrer mon test au code, il est sur la feuille)

For j = 100 To 5 Step -1

For i = 1 To 1000

'mon test nb.si en AG sur la Feuille (ne pas l' intégrer au code VBA)

If Range("AG" & j).Value > 3 Then GoTo 1
Next i
1
Next j

Donc si AG (de la ligne j) est supérieur à 3, la boucle j remonte d'une ligne (Step-1) sans forcément être allé au 1000 tests de la boucle i et donc le test aurait pu trouver 5 ou 6..
Comment restituer la valeur maximum trouvée au bout des 1000 tests? Ici, il suffit de trouver 4 pour terminer la boucle sans forcément avoir fait les 1000 tests.

Merci de vos idées de modification du code.

Bonne journée à tous
 
J

JJ1

Guest
Re : VBA---Valeur maximum d'un test IF.

Re,

J'ai trouvé une autre solution en supprimant le If, sans être sûr que le code aura trouvé un nombre > à 3.

A+
 

Pierrot93

XLDnaute Barbatruc
Re : VBA---Valeur maximum d'un test IF.

Bonjour,

pas tout compris de l'utilité de la boucle "for i ", tu ne te sers pas de la variable "i" et à priori donc tu fais 1000 fois le même test....

bonne journée
@+

Edition : bonjour Bruno
 

Paf

XLDnaute Barbatruc
Re : VBA---Valeur maximum d'un test IF.

Bonjour à tous

si on veut absolument conserver une boucle:

Code:
MonMax=0
For j = 1 To 1000
    If Range("AG" & j).Value > 3 And   Range("AG" & j).Value > MonMax Then MonMax = Range("AG" & j).Value
Next j

MsgBox MonMax



Bonne suite
 
Dernière édition:
J

JJ1

Guest
Re : VBA---Valeur maximum d'un test IF.

Bonjour à tous,

Merci pour vos réponses, j'étais resté sur ma première idée de supprimer le If et pour l'instant ça fonctionne bien.
merci

Bonne journée
 

Discussions similaires

Réponses
11
Affichages
567
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…