[VBA] sub en pas a pas ou en execution

zipohi Messages postés 9 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 14 novembre 2008 - 14 nov. 2008 à 15:50
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 15 nov. 2008 à 07:19
bonjour,
je voudrais vous demander si vous saviez pourquoi certaines lignes de code fonctionnent très bien lorsqu'elles sont exécutées en pas à pas et plus lorsqu'elles le sont en exécution normal. j'ai déjà rencontré plusieurs fois ce même problème et je n'en vois vraiment pas la raison, surtout que çà ne semble pas être une erreur de code...
merci

3 réponses

jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
14 nov. 2008 à 15:56
Bonjour,

Difficile de te répondre sans voir le code incriminé ...
Je dirais (en utilisant mon "renifleur") volontiers qu'il est probalble que ton code nécessite l'utilisation d'un DoEvents ici et/ou là ...
Ouvre ton aide en ligne sur le ,ot DoEvents, pour comprendre ce dont je parle.
..
0
zipohi Messages postés 9 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 14 novembre 2008
14 nov. 2008 à 16:31
salut
voilou mon code si çà peut t'aider

Sub legueux_change()

Dim a As Double




If ActiveCell.Column = 6 Then
            a = ActiveCell.Row
           
           
        If ActiveCell.Text = "g" Then
         
            Range("A" & a & ":F" & a).Font.ColorIndex = 3
            Range("G" & a).FormulaR1C1 = "=RC[-2]*RC[-3]-RC[-2]"



         ElseIf ActiveCell.Text = "p" Then
         
            Range("A" & a & ":F" & a).Font.ColorIndex = 4
            Range("G" & a).FormulaR1C1 = "=-RC[-2]"



         Else



            Range("A" & a & ":F" & a).Font.ColorIndex = 6
            Range("G" & a).Value = vbNull



         End If



End If
End Sub
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
15 nov. 2008 à 07:19
code dangereux...

a voir si ton code n'est pas "recursif", dans une certaine mesure...

si un premier passage de boucle ne déclenche pas de legeux_change

pour detecter, suffirait surement de placer un message de Debug au début :

Sub legeux_change
Debug..Print Now, ActiveCell.Column, ActiveCell.Row
...
0
Rejoignez-nous