Erreur d' execution 1004

bonsoir à tous

Je vous fais part de mon problème si vous voulez bien : j' ai fait quelques macros avec l' enregistreur de macro et elles fonctionnaient très bien puis par la suite j' ai ce message : " erreur d' execution 1004, la méthode activate de la classe pane a échoué "

En cliquant sur débogage en face de la flèche j' ai ce message sur fond jaune : ActiveWindow.Panes(3).Activate

Ce problème est intervenu suite je crois à la dernière macro que j' ai enregistrée. Et pour les autres macros j' ai exactement le même message.

Qui peut m' aider s' il vous plaît ?

Merci d' avance

Bonjour,

bonsoir à tous

" erreur d' execution 1004, la méthode activate de la classe pane a échoué "

ActiveWindow.Panes(3).Activate

Bonjour,

If ActiveWindow.Split = True Then
 If ActiveWindow.Panes.Count > 1 Then
   ActiveWindow.Panes(3).Activate
 End If
End If

Bonjour Xmenpl, le forum,

j'crois bien qu'tu as donné la bonne solution, mais à un p'tit détail près :

la correction est simple, il suffit d'mettre 2 au lieu de 1 dans le test :

If ActiveWindow.Split = True Then
 If ActiveWindow.Panes.Count > 2 Then ActiveWindow.Panes(3).Activate
End If

dhany

Bonsoir le forum, merci de me répondre !!

comment dois-je entrer ce code et la place de quoi ? je fais alt f11 et ensuite ?

merci d' avance

Bonsoir Olivier,

d'abord, quelle est l'extension de ton fichier actuel ? est-ce .xlsx ou .xlsm ? car un fichier .xlsx ne peut pas contenir de code VBA ; dans ce cas, la 1ère étape est de convertir ton fichier en .xlsm pour pourvoir y mettre une macro ; à te lire pour la suite.

dhany

bonsoir dhany, l'extension c'est xlsm

dans ce cas, fais Alt F11 pour aller sur la fenêtre de « Microsoft Visual Basic » ; ensuite, fais Alt i m ➯ ça ajoute un nouveau module, une page blanche s'est ouverte à droite ; c'est là que tu dois copier/coller le code VBA ; après : Alt F11 pour retourner sur Excel

dhany

super dhany, j' ai tout suivi. sauf que je n' ai pas pu appeler « Microsoft Visual Basic » par F 11 car ça ne marche pas ( alors qu'il y a 5 minutes ça marchait) , je suis donc passé par l' onglet " développeur " et j' ai cliqué sur " visual basic ", j' ai réussi à créer la page blanche et j' ai collé le code mais étant donné que F 11 ne fonctionne pas chez moi je fais comment pour valider ? STP merci

y'a pas besoin de valider ; faut juste retourner sur Excel ; comme tu ne peux pas utiliser Alt F11, fais Alt q : ça quitte Visual Basic et ça retourne sur Excel, mais avec cette différence : la fenêtre Visual Basic est fermée.

dhany

edit : tu as écrit que tu as utilisé F11, mais c'est Alt F11 ; Alt est la 1ère touche à gauche de la barre d'espace.

dhany

ok c' est fait. malheureusement maintenant que j' essaie de lancer les macro j' ai le message suivant : " impossible d' exécuter la macro..... il est possible qu' elle ne soit pas disponible dans ce classeur ou que toutes les macros soient désactivées" . Tu as une idée du problème ?

oui j' ai bien fait alt f11

ferme ton classeur mais ne quitte pas Excel, puis fais ce qui suit :

cgc 1 cgc 2

* dans la fenêtre qui suivra, tape le chemin complet du dossier qui contient ton fichier Excel et clique sur le bouton OK

* valide les autres fenêtres de la même façon, jusqu'à revenir sur ta 1ère fenêtre Excel.

quand tu ouvriras de nouveau ton fichier, ça sera ok.

dhany

d' accord je ferai ça mais sache ceci avant: en fermant mon classeur j' ai visual basic qui apparaît et j' ai ce message " erreur de compilation: instruction incorrecte à l' extérieur d' une procédure" et j' ai aussi noté que " activewindow" dans ton code est en surbrillance bleu. si ça peut t' aider y voir plus clair. Alors j' attends que tu me dises si tu fais une rectification ou si je me lance dans les dernières étapes que tu me demandes de faire.

merci

message "erreur de compilation : instruction incorrecte à l'extérieur d' une procédure"

oui, ça c'est normal, car le code VBA doit être inclus dans une sub :

Sub Essai()
  If ActiveWindow.Split = True Then
    If ActiveWindow.Panes.Count > 2 Then ActiveWindow.Panes(3).Activate
  End If
End Sub

dhany

ajout : je viens de répondre à ton dernier MP.

dhany

Bonjour olivier231522, dhany,

@olivier231522

tu avais dit:

j' ai fait quelques macros avec l' enregistreur de macro et elles fonctionnaient très bien puis par la suite j' ai ce message : " erreur d' execution 1004, la méthode activate de la classe pane a échoué "

peux-tu nous monter ton code ?

message "erreur de compilation : instruction incorrecte à l'extérieur d' une procédure"

oui, ça c'est normal, car le code VBA doit être inclus dans une sub :

Sub Essai()
  If ActiveWindow.Split = True Then
    If ActiveWindow.Panes.Count > 2 Then ActiveWindow.Panes(3).Activate
  End If
End Sub

dhany

j' ai fait toute la procédure mais c' est toujours le m^me message, ça ne marche pas. Fallait-il que je tienne compte de ton message cité plus haut ?

Bonjour i20110 , attends je vais le chercher

Rechercher des sujets similaires à "erreur execution 1004"