Select et activate

Bonjour à tous

je ne suis pas très actif sur le forum, mais je me suis remis récemment à VBA pour des raisons professionnelles.

Une question me taraude depuis plusieurs jours :

J'ai créé quelques macros qui utilisent la fonction

sheets(x).select

pour un classeur ouvert (x étant un nombre désignant le numéro de la feuille, bien évidemment)

la fonction s'exécute sans problème pendant plusieurs jours, puis se met à planter d'un coup sans raison apparente.

Du coup, je remplace select par activate, et ça se remet à fonctionner.

Alors, vous allez me dire, la solution est d'utiliser activate systématiquement, mais j'aimerais comprendre pourquoi une macro qui fonctionne un temps avec select ne fonctionne plus l'instant d'après.

Merci pour vos réponses.

Merci pour ta réponse, mais ça ne répond pas du tout à ma question.

D'ailleurs, j'avais déjà lu ce sujet avant de demander de l'aide ici.

J'ai bien compris que Activate est plus adapté, mais ça ne me dit pas pourquoi l'instruction sheets(3).select fonctionne quelques jours, puis fait planter la macro alors que les conditions n'ont pas changé.

Quelqu'un a-t-il une réponse ?

(Rien ne presse, mes macros fonctionnent très bien avec la fonction activate, mais je voudrais juste comprendre)

Merci

Re,

Sans voir le fichier et la macro qui va avec et les messages d'erreurs qui s'en sortent , on ne peut rien envisagé comme réponse.

Pas de pb, je viens de rédiger en 15 secondes une macro avec la fonction select :

Sub Macro1()

'

' Macro1 Macro

'

For i = 1 To 3

Sheets(i).Select

Next i

'

End Sub

Je l'ai exécutée 3 fois de suite, elle fonctionne parfaitement.

Mais demain sans doute, ou après demain, elle va planter comme les autres, et se remettre à fonctionner quand j'aurai remplacé select par activate.

C'est un mystère pour moi.

Re,

Sauf quelques cas précis, on peut s'en passer des méthodes Select et Activate. Il faut voir ton vrai code pour se faire une opinion.

Justement, j'ai repris une de mes macros, et j'ai remis select à la place de activate.

pour l'instant, elle fonctionne, et j'attends de voir à quel moment elle va planter. C'est toujours aléatoire. Quand ça arrivera, je reviendrai poster le code.

Le but n'est pas de remplacer par un code qui fonctionne à 100% (puisque activate semble fonctionner à 100%) mais de comprendre pourquoi une macro qui fonctionne pendant des semaines ne fonctionne plus à un moment T, alors que rien n'a changé ni dans le code de la macro, ni dans les données du classeur.

Bonjour,

Pour moi sur un Sheet pas de différence entre .Select et .Activate.

D'autant plus que le .Select déclenche un événement Activate.

Bon, excel a des bugs et il se pourrait qu'une propriété soit mal mise à jour dans ce cas, mais jusqu'à preuve du contraire c'est bon.

Ton erreur 'aléatoire' est peut être due à autre chose. Va en débogage lorsqu'elle survient pour comprendre le pourquoi.

eric

Rechercher des sujets similaires à "select activate"