Problème macro folle

  • Initiateur de la discussion Initiateur de la discussion morest
  • 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 !

morest

XLDnaute Occasionnel
Salut,

Voilà j'ai créé la macro suivante:

Sub Itération()

Sheets("cheat").Select

Range("D12") = 1

Do
Do While Cells(8, 7).Value = "Ajuster Coefficient!!!"

Cells(12, 4).Value = Cells(12, 4).Value + 0.001

Exit Do
Loop
Loop Until Cells(8, 7).Value = "Fooling Factor Valide"

End Sub


Elle fait augmenter de 0.01 la valeur d'une cellule jusqu'à ce qu'une autre soit à la valeur souhaité. Mon seul problème est qu'elle ne s'arrête pas d'elle même je suis obligée de la stopper de la manière forte en appuyant sur echap.

Quelqu'un pourrait me dire ce que j'ai fait de mal svp, merci d'avance.
 
Re : Problème macro folle

Bonjour morest
La sortie de boucle est conditionné par la valeur de la cellule Cells(8, 7). Or, rien dans votre boucle ne vient modifier la valeur de cette cellule. Donc, si la valeur initiale de cette cellule n'est pas initialement "Fooling Factor Valide" (quel jargon !), il n'y a aucune raison que la boucle s'arrête.
À moins que vous ne nous ayez pas tout dit...​
ROGER2327
#3843


Jeudi 19 Gidouille 137 (Saint Sein, tautologue, SQ)
15 Messidor An CCXVIII
2010-W26-6T11:01:30Z
 
Re : Problème macro folle

Merci pour votre réponse.

En fait, la case 8, 7 est elle même conditionné par une boucle dans la fiche excel. La suivante : =SI(ET(D13>(D7-2);D13<(D7+2));"Fouling Factor Valide";"Ajuster Coefficient!!!").

En gros, en fonction de la valeur de la case 12, 4 la case 8, 7 évolue de Ajuster Coefficient à Fouling Factor Valide. Que dois-je ajouter pour que la boucle comprenne que lors que "Fouling Factor Valide" elle doit s'arrêter?

Merci une nouvelle fois pour votre aide.

PS : C'est du jargon de thermicien 😉 dimensionnement d'échangeur thermique^^
 
Re : Problème macro folle

Bonjour morest

Salut ROGER

De l'importance de tout dire !!!

A tester

Code:
Sub Itération()
Sheets("cheat").Select
Range("[COLOR=red]D13[/COLOR]") = 1
Do
Do While Cells(8, 7).Value = "Ajuster Coefficient!!!"
Cells([COLOR=red]13[/COLOR], 4).Value = Cells([COLOR=red]13[/COLOR], 4).Value + 0.001
Exit Do
Loop
Loop Until Cells(8, 7).Value = "Fo[COLOR=red]u[/COLOR]ling Factor Valide"
End Sub
 
Re : Problème macro folle

Re...
Code:
[COLOR="DarkSlateGray"][B]Sub Itération()
   Sheets("cheat").Select
   Range("D13") = 1
   Do
      Do While Cells(8, 7).Value = "Ajuster Coefficient!!!"
         Cells(13, 4).Value = Cells(13, 4).Value + 0.001
         Exit Do
      Loop
   Loop Until Cells(8, 7).Value = "Facteur d'encrassement admissible"
End Sub

=SI(ET(D13>(D7-2);D13<(D7+2));"Facteur d'encrassement admissible";"Ajuster Coefficient!!!")[/B][/COLOR]
peut-être ? (Mais je ne saisis pas l'intérêt des deux boucles imbriquées : peut-être ne nous avez-vous pas encore tout dit...)

Vous pouvez remplacer "Facteur d'encrassement admissible" par ce qui vous semble bon, pourvu que vous utilisiez la même chose dans le code et dans la formule.
Pas une fois par "Fooling Factor Valide" (dont je ne comprends pas le sens) et une autre fois par "Fouling Factor Valide" comme disent les anglo-saxons.​
ROGER2327
#3845


Jeudi 19 Gidouille 137 (Saint Sein, tautologue, SQ)
15 Messidor An CCXVIII
2010-W26-6T11:57:10Z


__________
Re-bonjour pierrejean. Je n'avais pas encore vu votre message...
 
Dernière édition:
Re : Problème macro folle

Re...
Salut Pierrejean,

Et bien merci beaucoup à vous deux ca marche nikel. Je suis soulagée^^. Je suis tellement idiote que j'avais pas vu que j'avais mis Fooling factor au lieu de fouling. J'ai honte 😛
Parfait ! (Sauf qu'il n'y a pas à avoir honte : seuls les gens qui ne font rien ne se trompent pas.)
Mais essayez ceci :
Code:
[COLOR="DarkSlateGray"][B]Sub Itération()
   Sheets("cheat").Select
   Range("D13") = 1
   Do
      Cells(13, 4).Value = Cells(13, 4).Value + 0.001
   Loop Until Cells(8, 7).Value = "Facteur d'encrassement admissible"
End Sub[/B][/COLOR]
Plus léger, et peut-être suffisant.​
ROGER2327
#3846


Jeudi 19 Gidouille 137 (Saint Sein, tautologue, SQ)
15 Messidor An CCXVIII
2010-W26-6T12:12:46Z
 
Dernière édition:
Re : Problème macro folle

Salut,

Voilà j'ai créé la macro suivante:

Sub Itération()

Sheets("cheat").Select

Range("D12") = 1

Do
Do While Cells(8, 7).Value = "Ajuster Coefficient!!!"

Cells(12, 4).Value = Cells(12, 4).Value + 0.001

Exit Do
Loop
Loop Until Cells(8, 7).Value = "Fooling Factor Valide"

End Sub


Elle fait augmenter de 0.01 la valeur d'une cellule jusqu'à ce qu'une autre soit à la valeur souhaité. Mon seul problème est qu'elle ne s'arrête pas d'elle même je suis obligée de la stopper de la manière forte en appuyant sur echap.

Quelqu'un pourrait me dire ce que j'ai fait de mal svp, merci d'avance.

Bonjour morest, et bienvenue,

Sans vraiment comprendre la finalité de ta macro,
On peut dire que c'est normal qu'elle boucle à l'infini car on ne voit voit nulle part une condition qui mette la cellule(8,7) à la valeur "Fooling Factor Valide".
Il faut toujours être prudent avec les boucles While... Do... et compagnie, et ne pas oublier de leur ménager une condition de sortie.

Espérant avoir aidé.

Cordialement.

Edit:

Pardon à tous,

Je n'avais pas vu les réponses précédentes. Je me retire.

Cordialement.
 
Dernière édition:
- 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

R
  • Question Question
Microsoft 365 Boucle infini
Réponses
2
Affichages
786
J
Réponses
2
Affichages
1 K
J
S
Réponses
6
Affichages
2 K
sandy13
S
J
Réponses
0
Affichages
1 K
Jojolapin
J
C
Réponses
2
Affichages
997
Crack1986
C
I
Réponses
8
Affichages
2 K
iStarOSX
I
W
Réponses
8
Affichages
2 K
W
N
Réponses
3
Affichages
1 K
N
B
Réponses
3
Affichages
2 K
G
L
Réponses
0
Affichages
2 K
lucaspelus
L
M
Réponses
7
Affichages
3 K
Milmar
M
Retour