Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro et Exécution interrompue

3 réponses
Avatar
garnote
Bonjour,

Voici deux macros qui font la même chose.
La première doit écrire les nombres trouvés
dans la fenêtre d'exécution du VBE et la deuxième,
entrer ces mêmes nombres dans la colonne B.
Mais ne voilà t-il pas, câlice, qu'elles sont
interrompues une bonne dizaine de fois par
le message « Exécution interrompue » !!!
Je tape alors sur « Continuer » et effectivement,
elles continuent et je finis par obtenir
les nombres attendus. Ces nombres sont :
11, 17, 23, 27, 29, 35, 37, 41, 47 et 53.

Qu'est-ce qui cloche, mais qu'est-ce qui cloche ?
Je joins le tout petit document :
http://www.cijoint.fr/cjlink.php?file=cj200902/cijOG5qdYw.xls


Sub Merger()
Set liste = Range("A2:A575")
For s = 5 To 100
x = Int(s / 2)
y = x - 1
For i = 2 To x
n = i * (s - i)
Set trouve = liste.Find(what:=n, lookat:=xlWhole)
If Not trouve Is Nothing Then m = m + 1
Next i
If m = y Then Debug.Print s
m = 0
Next s
End Sub

Sub Versif()
Set liste = Range("A2:A575")
Dim L()
For s = 5 To 100
x = Int(s / 2)
y = x - 1
For i = 2 To x
n = i * (s - i)
Set trouve = liste.Find(what:=n, lookat:=xlWhole)
If Not trouve Is Nothing Then m = m + 1
Next i
If m = y Then
j = j + 1
ReDim Preserve L(1 To j)
End If
m = 0
Next s
Range("B2").Resize(UBound(L)) = Application.Transpose(L)
End Sub

Serge

3 réponses

Avatar
Daniel.C
Bonjour.
Ca fonctionne sans problème chez moi.
Un petit reboot ?
Cordialement.
Daniel

Bonjour,

Voici deux macros qui font la même chose.
La première doit écrire les nombres trouvés
dans la fenêtre d'exécution du VBE et la deuxième,
entrer ces mêmes nombres dans la colonne B.
Mais ne voilà t-il pas, câlice, qu'elles sont
interrompues une bonne dizaine de fois par
le message « Exécution interrompue » !!!
Je tape alors sur « Continuer » et effectivement,
elles continuent et je finis par obtenir
les nombres attendus. Ces nombres sont :
11, 17, 23, 27, 29, 35, 37, 41, 47 et 53.

Qu'est-ce qui cloche, mais qu'est-ce qui cloche ?
Je joins le tout petit document :
http://www.cijoint.fr/cjlink.php?file=cj200902/cijOG5qdYw.xls


Sub Merger()
Set liste = Range("A2:A575")
For s = 5 To 100
x = Int(s / 2)
y = x - 1
For i = 2 To x
n = i * (s - i)
Set trouve = liste.Find(what:=n, lookat:=xlWhole)
If Not trouve Is Nothing Then m = m + 1
Next i
If m = y Then Debug.Print s
m = 0
Next s
End Sub

Sub Versif()
Set liste = Range("A2:A575")
Dim L()
For s = 5 To 100
x = Int(s / 2)
y = x - 1
For i = 2 To x
n = i * (s - i)
Set trouve = liste.Find(what:=n, lookat:=xlWhole)
If Not trouve Is Nothing Then m = m + 1
Next i
If m = y Then
j = j + 1
ReDim Preserve L(1 To j)
End If
m = 0
Next s
Range("B2").Resize(UBound(L)) = Application.Transpose(L)
End Sub

Serge


Avatar
garnote
Bonjour,

Démarrer / Redémarrer et tout va bien ( pour le moment ! )
Quant à savoir pourquoi j'ai eu cette anomalie et pourquoi
le fait de rebooter la corrige, c'est pour moi un des grands
mystères de la vie ;-)))

Serge


"Daniel.C" a écrit dans le message de news: OvQ$
Bonjour.
Ca fonctionne sans problème chez moi.
Un petit reboot ?
Cordialement.
Daniel

Bonjour,

Voici deux macros qui font la même chose.
La première doit écrire les nombres trouvés
dans la fenêtre d'exécution du VBE et la deuxième,
entrer ces mêmes nombres dans la colonne B.
Mais ne voilà t-il pas, câlice, qu'elles sont
interrompues une bonne dizaine de fois par
le message « Exécution interrompue » !!!
Je tape alors sur « Continuer » et effectivement,
elles continuent et je finis par obtenir
les nombres attendus. Ces nombres sont :
11, 17, 23, 27, 29, 35, 37, 41, 47 et 53.

Qu'est-ce qui cloche, mais qu'est-ce qui cloche ?
Je joins le tout petit document :
http://www.cijoint.fr/cjlink.php?file=cj200902/cijOG5qdYw.xls


Sub Merger()
Set liste = Range("A2:A575")
For s = 5 To 100
x = Int(s / 2)
y = x - 1
For i = 2 To x
n = i * (s - i)
Set trouve = liste.Find(what:=n, lookat:=xlWhole)
If Not trouve Is Nothing Then m = m + 1
Next i
If m = y Then Debug.Print s
m = 0
Next s
End Sub

Sub Versif()
Set liste = Range("A2:A575")
Dim L()
For s = 5 To 100
x = Int(s / 2)
y = x - 1
For i = 2 To x
n = i * (s - i)
Set trouve = liste.Find(what:=n, lookat:=xlWhole)
If Not trouve Is Nothing Then m = m + 1
Next i
If m = y Then
j = j + 1
ReDim Preserve L(1 To j)
End If
m = 0
Next s
Range("B2").Resize(UBound(L)) = Application.Transpose(L)
End Sub

Serge






Avatar
Modeste
"garnote" a écrit dans le message de news: %
Bonjour,

Démarrer / Redémarrer et tout va bien ( pour le moment ! )
Quant à savoir pourquoi j'ai eu cette anomalie et pourquoi
le fait de rebooter la corrige, c'est pour moi un des grands
mystères de la vie ;-)))



;o)))
quand tu bidouilles le code dans VBE, il faut réguliérement enregistrer ton ficher (Ctrl+S) (forcer la recompilation ????)
VBA est en principe recompilé à cet instant
Menu VBE Outils, Options, Général > Compilation : cocher les 2 cases

je ne compte plus les plantages violents , suite à d'innombrables modifications du code et exécution sans avoir enregistré !!!!
cela est encore plus flagrant sur la mise au point des USF,
Excel gère très, très, très...., mal la mémoire (notament en ce qui concernes les objets graphiques, charts, contrôles et dessins)