Pourquoi la copie ne marche pas?

  • Initiateur de la discussion Baside
  • Date de début
B

Baside

Guest
Bonjour le Forum,
Pourquoi ce code:

Sub Macro1()
Annee = Worksheets('Feuil1').Range('A1').Value
MsgBox Annee
Macro2
Sheets(Annee).Select
End Sub

Marche trés bien dans un fichier (module 1) et ne marche pas si je le colle dans un module1 dans un autre fichier ?

D'avance, Merci, Hervé.
 
M

mike

Guest
bonjour baside,

as tu pense a renomer tes feuilles du nouveau classeur? Puisque tu as une feuille nommée 'Année' si tu renommes pas ta feuille du nouveau classeur en 'Année' ta macro affichera une erreur.

J espere t avoir aidé.
 
B

Baside

Guest
Bonjour mike, Pascal76, le Forum,

La variable est Annee
J'ai bien mis 2001 pour l'éssai dans la cellule A1 de la feuille1,
j'ai bien nommé une feuille 2001 et 2001 apparait dans MsgBox,
c'est la ligne suivante qui se surligne en jaune et là comprend pas car celà marche très bien dans un autre fichier.

Merci pour vos réponses, hervé.
 

Luki

XLDnaute Accro
Bonjour le fil, Bastide,

Une idée... Vu que tu n'as pas déclaré tes variables, Il y a peut être un problème de format de cellules text/ nombre en A1.

essaie de déclarer dim Annee as string et regarde si ça change Qchose...?

A +

EDITION

Ou essaie sinon de prendre le texte de A1 et pas la Value ( Range('A1').text

A+

Message édité par: luki, à: 18/04/2005 12:47
 

Luki

XLDnaute Accro
Re le fil,

Après essai, le fait que la feuille s'apelle '2001' peut efffectivement poser problème car l'objet sheets demande soit un indice soit un nom de feuille en STRING.

Ill faut donc bien passer le nom en string par une des 2 méthodes ci-dessus. Chez moi , c'est ok.

A +
 
B

Baside

Guest
Bonjour Luki, le Forum,

Oui, j'ai bien pensé au format qui est en standard, mais suite à ton message, j'ai mis text et çà marche.
Donc grand mercipour la résolution de cette énigme.

pour la déclaration de la variable, quand j'ai mis String, c'est bon (Variant aussi)

Bonne journée, Hervé.
 

Luki

XLDnaute Accro
Hervé,

Ca peut aussi marcher avec variant mais hormis le fait que ça utilise plus de mémoire c'est moins propre , si tu as besoin d'une variable string, déclare la en string, tu auras moins de surprises!

De plus insérer en début de module ' Option Explicit' t'oblige à déclarer les variables , c'est très utile et facilite le déboguage.

A +
 

Discussions similaires

Statistiques des forums

Discussions
312 309
Messages
2 087 107
Membres
103 470
dernier inscrit
ali2020