La macro suivante a fonctionné pendant des jours et des jours. Aujourd'hui, j'ai voulu utiliser mon application et la macro ne donne plus les résultats attendus. Pourtant, je n'ai rien modifié sur cette application.
Code:
Sub PtDH()
'N'affiche que 4 fois les points H et DH
'---------------------------------------
CtrFois = CtrFois + 1
If CtrFois <= 4 Then
Cells(L1 + 1, C1).FormulaR1C1 = " H - DH"
Cells(L1 + 1, C1).Activate
SendKeys "{F2}{LEFT 8}"
End If
End Sub
Cette macro permet de :
écrire dans la cellule spécifiée le texte " H - DH"
revenir sur la cellule ainsi modifiée
mettre le curseur sur le 1er caractère de la cellule afin de pouvoir effectuer une saisie.
Si l'action était faite à la main au lieu de la macro, cela consisterait à faire F2 sur la cellule de mon choix et de déplacer le curseur avec la touche "flèche gauche" jusqu'au 1er caractère.
Merci par avance à celle ou celui qui me trouvera la parade à ce dysfonctionnement.
Merci pour ta réponse mais désolé, cela ne fonctionne pas. Je cherche à comprendre pourquoi subitement ma macro ne répond plus comme elle a toujours fonctionné.
Est-ce que ta macro se trouve dans un fichier assez lourd ? Pque ton problème pourrait être lié à sendkeys qui est envoyé trop vite. Ca arrive parfois sur les gros fichiers ou les vieilles machines.
Merci pour ta réponse mais le problème ne vient pas de là et je viens de trouver la réponse à mon problème. Il faut mettre :
Code:
Application.EnableEvents = True
J'avais interrompu à tort la bonne marche de ma macro en appuyant sur "Ctrl + Pause" et quelques instructions auparavant, il y avait "Application.EnableEvents = False". Ma macro n'avait pas eu la possibilité de passer "Application.EnableEvents = True" puisqu'elle avait été interrompue prématurément.
Effectivement, j'avais essayé cette possibilité mais cela n'avait rien donné.
Comme j'ai dit que je n'avais pas modifié mon code entre le moment où cela fonctionnait normalement et le moment où mon application ne tournait pas correctement, il y avait donc un événement extérieur perturbateur.
C'était l'arrêt autoritaire de la macro par le clavier (Ctrl + Pause)