Calculer sur une feuille B à partir d'une macro situé sur une feuille A

jeansteven Messages postés 3 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 29 juillet 2009 - 28 juil. 2009 à 15:36
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 - 29 juil. 2009 à 21:10
Bonjour, voici mon problème :

Je crée une macro sur ma feuilleA. Et à partir de coefficients qu'il y'a sur une feuilleB, la macro qu'il y'a sur la feuilleA va calculer des prévisions de données stockés sur une feuilleC. Ces prévisions une fois calculées, seront également stockées dans la feuilleC.
Seulement, lorsque ma macro change de feuille pour poursuivre ses calculs, j'obtiens une erreur 1004.
La syntaxe que j'utilise et erronée est la suivante lors de mon changt de feuille de la feuilleA à la feuilleB:

ThisWorkbook.Sheets("FeuilleB").Select Ici, c'est pour se positionner sur la feuilleB

Range("B12").Select Ici, c'est pour me positionner, toujours sur la FeuilleB, sur la cellule B12

Si quelqu'un sait d'où vient mon problème, qu'il se dénonce ! Ca fait un mois tout juste que j'utilise VBA 6.0 donc c'est peut-être pas bien compliqué comme soluce mais je n'y arrive tout de même pas. Pour le reste, quand j'utilise la macro depuis la FeuilleB, il arrive à faire les bons calculs. Mystère et Suspense cette histoire, du moins, vu de chez moi.

NB :
ThisWorkbook.Sheets("FeuilleB").Select
&
Sheets("FeuilleB").Select

ne fonctionnent pas, l'un comme l'autre, pour le changement de feuille.

Merci beaucoup, et dites moi si j'ai pas été suffisamment clair dans mes explications

5 réponses

us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
28 juil. 2009 à 22:33
Bonsoir,

L'erreur dit en clair que la sélection de la feuille est impossible. Pourquoi ? C'est cette question qu'il faut élucider. Une possibilité c'est que la FeuilleB est masquée lors de sa sélection... ce qui n'est pas logique. Une feuille masquée ne peut pas être sélectionnée, d'où une erreur 1004... Mais la cause peut être autre... Regardes donc si tu changes l'état de la feuille avant de faire sa sélection. Je pense que tu trouveras alors la cause réelle de l'erreur.

Amicalement,
Us.
0
jeansteven Messages postés 3 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 29 juillet 2009
29 juil. 2009 à 10:02
Merci, je vais tacher de me documenter sur cette foutue erreur 1004 et dans quels circonstances une feuille peut se trouver masqué.
Encore merci.
Je ne le déclare pas encore résolu le problème, comme ça, si quelqu'un sait, je suis tjrs preneur !
Bonne journée
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
29 juil. 2009 à 10:06
Salut,

l'erreur 1004 apparait en general quand l'on essai de modifier la valeur d'une cellule protégée.

Donc l'autre possibilité est que la feuilleB est protégée.

A+
0
jeansteven Messages postés 3 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 29 juillet 2009
29 juil. 2009 à 10:50
J'ai retenté le coup en procédant à des modifs que vous proposiez mais aussi que d'autres problèmes avec l'erreur 1004 proposait mais il n'en est rien, pas de changement.
Il m'inscrit encore comme message d'erreur :
Erreur d'éxécution 1004 :
La méthode Select de la classe Range a échoué
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
29 juil. 2009 à 21:10
Bonsoir,

Marrant, j'ai fait la macro minimum :

Sub Macro1()
Sheets("Feuil2").Select
End Sub

et le seul cas où j'ai obtenu l'erreur 1004, c'est en masquant la feuille... avec les cellules ou feuilles protéger, je n'ai pas de message d'erreur. Bigfish, pour info, peux-tu me dire comment créer cette erreur avec les cellules (avec quelles manip).

De plus, jeansteven, l'IDE s'arrête normalement sur la ligne qui pose problème en la mettant en surbrillance jaune. Avec ton dernier message, on ne sait plus si c'est sur la ligne Range ou Sheets que la macro s'arrête :

ThisWorkbook.Sheets("FeuilleB").Select
Range("B12").Select

Peux-tu mieux préciser la ligne mise en surbrillance ? car on relisant ton 1er message et le dernier, perso, je ne te suis plus... J'avais cru que c'était sur la 1ère ligne (sheets), mais ce n'est peut-être pas ça, au vu de ton dernier message...

Amicalement,
Us.
0
Rejoignez-nous