macro excel qui s'interrompt

macro excel qui s'interrompt - Logiciels - Windows & Software

Marsh Posté le 04-01-2007 à 22:26:29    

Bonsoir,
J'ai enregistré une macro simple dans EXCEL. Elle fonctionne, jusqu'à ce qu'elle rencontre une ligne de commande censée provoquer la copie de la feuille. Là, la macro s'interrompt sans message d'erreur. J'ai vérifié la syntaxe, rien à redire.
Qui a une idée ? Merci.

Reply

Marsh Posté le 04-01-2007 à 22:26:29   

Reply

Marsh Posté le 04-01-2007 à 23:20:45    

caradec a écrit :

Bonsoir,
J'ai enregistré une macro simple dans EXCEL. Elle fonctionne, jusqu'à ce qu'elle rencontre une ligne de commande censée provoquer la copie de la feuille. Là, la macro s'interrompt sans message d'erreur. J'ai vérifié la syntaxe, rien à redire.
Qui a une idée ? Merci.


 
Bonsoir
 
Quand tu dis que t'as vérifié la syntaxe, tu veux dire que t'as débogué pas à pas avec F8? A mon avis, si tu montrais ton code, je pense que ce serait plus simple parce que là, à part pour Mme Soleil, impossible de deviner.

Reply

Marsh Posté le 04-01-2007 à 23:42:25    

Je n'ai pas le code ici, Excel est installé au boulot, mais pas chez moi.
Comme tu l'as deviné, j'ai effectivement exécuté la macro pas à pas par F8, la syntaxe doit être bonne puisque j'ai effectué les tâches en fonction enregistrement, pas en saisissant le code. Lorsque j'appuie sur F8 alors que la ligne en question est surlignée, la macro s'interrompt à ce stade.
Si je mets la ligne en remarque, pas de problème, la macro va jusqu'au bout. Bizarre.


Message édité par caradec le 04-01-2007 à 23:42:50
Reply

Marsh Posté le 05-01-2007 à 09:22:30    

1/Le fait d'enregistrer une macro ne signifie pas nécessairement que celle-ci va fonctionner. Par exemple, on veut transposer
1
2
3
4
5
Autrement dit, on veut obtenir: 1 2 3 4 5. Avec l'enregistreur, on obtient:
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 05/01/2007 par Admin
'
 
'
    Range("A1:A5" ).Select
    Selection.Copy
    Range("B1" ).Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
End Sub
 
Maintenant, si on a 1 2 3 4 5 et qu'on lance la macro, voilà ce qu'on obtient:
1 1
 
La macro est donc liée à la présentation initiale du fichier.Ça parait évident mais il faut le rappeler.
 
2/Par définition, toutes les instructions qui apparaissent après l'enregistrement ne sont pas nécessaires.Ici SkipBlanks:=False ne sert à rien et généralement toutes les instructions:=False.Quand tu dis en remarque, tu veux dire en commentaire commençant par l'apostrophe ' ? Si c'est le cas, ton instruction est facultative.Maintenant, encore une fois difficile de se prononcer précisément,sur ton cas sans code.Si tu pouvais simplement donner un modèle fictif de tes données juste afin de voir la présentation et expliquer ce que tu souhaites obtenir, ça pourrait aider.Peux-tu aussi sur quelle version d'excel tu bosses?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed