Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1339 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  (Excel) Deplacement de feuilles pose pb

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

(Excel) Deplacement de feuilles pose pb

n°1898978
RING3R
Posté le 25-06-2009 à 09:27:21  profilanswer
 

Bonjour,
 
Premièrement désolé pour ce titre si peu représentatif de mon problème mais difficile de le décrire succinctement, surtout avec si peu de caractères^^
 
Bon donc voici ma question:
 
CONTEXTE
Je travail sur un classeur Excel construit de la sorte:
- 1 feuille principale, fixe, sur laquelle sont placés 3 boutons, chacun affecté a une macro (2 lancent un userform)
- les autres feuilles vont et viennent, et ne possèdent ni bouton ni ligne de code
 
PROBLEME
J'ai besoin de déplacer les feuilles secondaires de mon classeur (celles qui vont et qui viennent) vers un classeur temporaire (clic droit-> déplacer-> nouveau classeur ou via une macro .move).
Mais lorsque je fait ça, je remarque que les boutons de ma première feuille ne lancent plus les macros associées!
plus précisément, si une macro "Macro1" était affectée au bouton, après déplacement des feuilles vers un classeur "NewClasseur" c'est la macro "NewClasseur!Macro1" qui se retrouve appelée par le bouton.
Évidemment cette macro n'est pas trouvé, et je dois manuellement réaffecté la bonne macro a chaque bouton :s
 
PRECISION
Cela fait un certain temps que je travail sur ce classeur, et je n'avait jamais remarqué ce pb. il est apparu a la même période que le reformatage de mon ordi du boulot (et donc réinstallation d'excel 2007). Je me dit que c'est peut être un problème d'options mais j'ai rien trouvé...
 
Je tiens a préciser que j'ai cherché pas mal sur le net mais je n'ai rien trouvé de comparable a ce pb, d'ou mon post (1er soit dit en passant)
 
J'espere que j'ai été compréhensible et que qqun pourra m'aider :)
 
Merci

mood
Publicité
Posté le 25-06-2009 à 09:27:21  profilanswer
 

n°1898988
Ptit loup
Quand c'est flou, y'a un loup
Posté le 25-06-2009 à 10:06:28  profilanswer
 

L'idéal selon moi, c'est que tu donnes un vrai à ta macro au lieu de l'appeler Macro1, ça évite les confusions, et c'est plus clair pour toi lorsque tu codes tout ça (ou pour une personne qui ferait de la maintenance sur ce code)
De la même manière, lorsque tu appelles ta macro, tu dois pouvoir lui indiquer le nom du classeur (effectue ça quand tu as plusieurs classeurs ouverts histoire qu'il ne "simplifie" pas le nom tout seul, chose possible peut être si un seul classeur est ouvert à ce moment là)
 
(ben sinon, je trouve que ton titre est bcp plus clair que la majorité de ceux qu'on voit !)


Message édité par Ptit loup le 25-06-2009 à 10:06:38
n°1899333
RING3R
Posté le 26-06-2009 à 09:12:55  profilanswer
 

Evidemment le nom "maro1" n'(etait que pour l'exemple, je donne des noms explicites a mes macros, le pb ne vient pas de la...
 
ensuite quand je lie une macro a un bouton, meme si je rentre le nom du classeur avant le nom de la macro, cela ne change rien et c'est le nom du nouveau classeur qui remplace le nom du bon classeur (celui qui contient les macros)
 
d'autres idées?
 
merci

n°1899340
Ptit loup
Quand c'est flou, y'a un loup
Posté le 26-06-2009 à 09:44:31  profilanswer
 

Je me demande si je n'ai pas déjà eu le souci il y a assez longtemps avec les noms de macros qui perdaient le nom du classeur...
Le souci, c'est que je ne sais plus si
- j'ai résolu ce point
- comment je l'ai résolu si c'est le cas :/
 
Essaie à tout hasard en encadrant ton nom par des guillemets... ?

n°1899422
RING3R
Posté le 26-06-2009 à 12:17:04  profilanswer
 

Ptit loup a écrit :

Essaie à tout hasard en encadrant ton nom par des guillemets... ?


Tu veux dire dans la fenêtre qui s'ouvre quand je clique droit sur le bouton puis "affecter une macro" ?
Si c'est le cas les guillemets ne passent pas
 
et dans la declaration de ma macro, je ne peut pas mettre un nom du style "MonClasseurPrincipal.xlsm!MaMacro" comme c'est écrit dans cette fameuse fenêtre
 
Je désespère, je doit a chaque fois copier les feuilles dans un nouveau classeur puis les supprimer dans mon classeur principal pour contourner ce problème...
et pour le nombre de manip autant dire que la perte de temps est pénalisante, sans parler du fait qu'il n'est pas optimal d'automatiser cette façon de faire
 
Need help :s

n°1899483
produvba
Posté le 26-06-2009 à 14:24:36  profilanswer
 

Bonjour,
Comment copies-tu les feuilles?
Il faut aussi faire attention à qui est le classeur actif (attention à l'utilisation de Activeworkbook, parfois on a des surprises, mieux vaut utiliser workbook(name) c'est plus sûr.

n°1899500
RING3R
Posté le 26-06-2009 à 14:44:59  profilanswer
 

je copie les feuilles de deux manières, qui donnent le même résultat:
- soit je selectionne toutes les feuilles qui m'interessent (toutes sauf ma feuille principale), puis clic-droit\deplacer ou copier\nouveauclasseur
- soit via une macro du style worksheets(tableau_de_feuille).move
 
me dites pas que ca vient de la macro car avec du clic-droit ca fait pareil^^
 
et il n'est aucunement question de classeur actif ou autre car si j'utilise la methode clic-droit, a aucun moment je ne passe par du code pour que le pb survienne
 
des que je deplace les feuilles, les boutons de mon premier classeur sont associés a des macro (fictives) du nouveau classeur
(je repete que ces macros associées ne bougent pas, n'apparaissent a aucun endroit dans le nouveau classeur et n'ont pas changé de nom dans le classeur principal)

n°1900000
RING3R
Posté le 29-06-2009 à 10:00:22  profilanswer
 

Bon j'ai essayé sur mon pc perso chez moi, avec le meme classeur et le meme code, et il n'y a aucun problème!
ca confirme ce que je pensai, ca doit venir d'un reglage d'excel...
 
Personne ne peut m'aider? j'ai fouillé les options mais j'ai rien trouvé..
 
Merci :)

n°1953377
niko8181
Posté le 28-12-2009 à 10:39:26  profilanswer
 

bonjour
j'ai le même pb, avez vous trouvé une solution ?

n°1953415
astik89
Posté le 28-12-2009 à 15:20:06  profilanswer
 

Bonjour,
 
j'ai en effet réussi à reproduire le problème sous Excel 2007.
C'est tout simplement ahurissant!
 
Je pense que la solution la plus simple est de réaffecter les macros à tes boutons en fin de procédure
 

Code :
  1. Sub Test()
  2.     Sheets(Array("Feuil2", "Feuil3", "Feuil4" )).Move
  3.     Windows("ClasseurTest.xls" ).Activate
  4.     Sheets("Feuil1" ).Shapes("Button 1" ).OnAction = "Test"
  5.     MsgBox "OK"
  6. End Sub

mood
Publicité
Posté le 28-12-2009 à 15:20:06  profilanswer
 

n°1953781
Laoo
Posté le 29-12-2009 à 22:09:18  profilanswer
 

Bonjour,
 

Citation :

j'ai en effet réussi à reproduire le problème sous Excel 2007.
C'est tout simplement ahurissant!


 
'm'étonne pas de ce  :kaola: d'Excel 2007!
 
Et, question ptêt bête, tu peux pas la mettre dans le classeur général, type Perso.xls?
 
Ca résoudrait tout

n°1954269
astik89
Posté le 31-12-2009 à 15:30:39  profilanswer
 

En effet, ça fonctionne en la mettant dans perso.xls.
 
Après ça dépend de l'utilisation que l'on veut en faire: pour distribuer un programme, c'est lourd!!

n°2122777
Mamzelltac​ha
Posté le 22-01-2012 à 21:05:20  profilanswer
 

RING3R a écrit :

Evidemment le nom "maro1" n'(etait que pour l'exemple, je donne des noms explicites a mes macros, le pb ne vient pas de la...
 
ensuite quand je lie une macro a un bouton, meme si je rentre le nom du classeur avant le nom de la macro, cela ne change rien et c'est le nom du nouveau classeur qui remplace le nom du bon classeur (celui qui contient les macros)
 
d'autres idées?
 
merci


Bonjour,
 
Je confirme, j'utilise depuis 10 ans cette méthode et je n'ai jamais rencontré ce probleme mais depuis excel 2007 je rencontre le même événement que vous.
Solution trouvée (amis inacceptable philosophiquement). Si tu fais ActiveSheet.Copy  
et que tu fais ensuite sheets("X" ).delete tu n'as plus le problème  
 
Je sais c'est moche mais ça marche (merci Jérémy)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  (Excel) Deplacement de feuilles pose pb

 

Sujets relatifs
[VBS][Résolu] Supprimer une ligne dans ExcelCaractère séparateur sous excel VBA
[ VBA ] Afficher sous excel la date & Heure de la derniere sauvegardeErreur Excel nombre de polices [RESOLU]
Export Excel vers Access à l'aide de VBAEncore une question sur la pagination dans une feuille Excel
VBA et excel : suppression de lignes correspondantesExport Excel --> Access avec VBA depuis Access
Excel 2003, problème avec une boucleVBA Access! Pbm déclaration application Excel
Plus de sujets relatifs à : (Excel) Deplacement de feuilles pose pb


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR