Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Perte d'affection à un bouton suite SaveAs

variable

XLDnaute Nouveau
Bonjour à tous,

Tout d'abord, mes excuses si ce sujet a déjà été traité dans un autre post. J'ai cherché pourtant

Ensuite, voici l'exposé de mon problème.
Ma situation :
- J'ai une macro affectée à un bouton dans un 1er classeur.
- Cette macro crée un onglet dans ce classeur puis le déplace dans un nouveau.
- Je procède ensuite à un enregistrer sous de ce nouveau classeur, puis je le ferme.
- et la macro se termine.
Mon problème : à la fin de l'exécution le bouton de la macro pointe sur le nouveau fichier alors que l'affectation n'aurait pas du changer !?
L'un d'entre-vous pourrait me dire ce que j'ai fait de mal ?

Ci-dessous le bout de code correspondant.
Merci pour votre aide.
Variable

-----

Application.StatusBar = en_tete_statusbar & "Enregistrement."

wb.Sheets("Ch. MOE MOA").Move 'Transfère la feuille dans un nouveau classeur
Set wbS = ActiveWorkbook

'On demande d'indiquer le nom du nouveau fichier jusqu'à ce qu'on ait un nom
'ou que l'utilisateur ait confirmé l'annulation de la macro.
Do
Sélection_terminée = True
texte = "Enregistrer le fichier Charges_MOE_MOA sous..."
Sélection_fichier = Application.GetSaveAsFilename(Title:=texte, FileFilter:="Excel Workbook (*.xlsx), *.xlsx,")
If TypeName(Sélection_fichier) = "Boolean" Then
reponse = MsgBox("Pas de fichier indiqué. Voulez-vous quitter la macro ?", vbYesNo + vbCritical)
If reponse = vbYes Then
Exit Sub
Else
Sélection_terminée = False
End If
End If
Loop While Sélection_terminée = False

wbS.SaveAs Filename:=Sélection_fichier
wbS.Close
 

Dranreb

XLDnaute Barbatruc
Re : Perte d'affection à un bouton suite SaveAs

Bonjour.

Essayez peut être SaveCopyAs au lieu de SaveAs

P.S. Non, ca ne devrait pas aller, mais alors je ne vois pas bien la cause de votre problème. Je ne peux rien voir, d'ailleurs, puisque pas de classeur joint. S'agit-il d'un bouton de formulaire dont il faudrait préalablement sauvegarder l'ancienne propriété OnAction, ou d'un bouton de commande dont le code est obligatoirement alors dans le module de la feuille ?
Après relecture de votre demande, c'est un bouton de formulaire. Je comprends de moins en moins. Pourquoi ne créez vous pas directement la feuille dans un nouveau classeur ? Ça limiterait les risque que la feuille ne soit pas déplacée pour une mystérieuse raison et reste donc dans le fichier d'origine renommé par le SaveAs au lieu du SaveCopyAs …
 
Dernière édition:

variable

XLDnaute Nouveau
Re : Perte d'affection à un bouton suite SaveAs

Bonjour,

Ci-joint un fichier fortement allégé.
A l'onglet "Accueil", le bouton pointe sur la macro "Bouton_Charge_MOE_MOA" dans ce classeur.
Une fois que celle-ci a été exécutée, il pointe sur le nouveau fichier (même si celui est en .xlsx !).

Pendant ce temps, je vais essayer de coder ta proposition pour voir.
La raison pour laquelle je ne travaille pas directement dans le nouveau fichier est que l'ensemble des macros de ce fichier a été construit petit à petit, qu'il y a plusieurs macro qui participent au remplissage de cet onglet et donc pas mal de modifications à apporter dans le code.

En tout cas, merci beaucoup pour ton aide,
variable
 

Pièces jointes

  • MTN - Outil.xlsm
    50.4 KB · Affichages: 29

Dranreb

XLDnaute Barbatruc
Re : Perte d'affection à un bouton suite SaveAs

Désolé, j'ai fait un essai de la macro, après exécution Feuil25.Shapes("Bouton 1").OnAction est toujours = "Xl0000212.xls!Bouton_Charges_MOE_MOA".
Xl0000212.xls est le nom qu'a donné à votre classeur le convertisseur de xlsm.
Une feuille à disparue et s'est retrouvée dans un classeur test.xlsx.xls, bref tout à l'air d'avoir fonctionné.
Mais ça ne marcherait pas une seconde fois j'imagine, puisque la feuille Ch. MOE MOA est dans le nouveau classeur…
Tiens, ça ne serait pas le fond du problème par hasard ? la feuille active resterait la Feuil25 (Accueil PGM) et c'est elle qu'il essaierait de mettre dans un nouveau classeur ?
 

variable

XLDnaute Nouveau
Re : Perte d'affection à un bouton suite SaveAs

Bonjour,

C'est normal pour la feuille qui s'est déplacée.
Par contre, mon problème, c'est que l'affectation de la macro au bouton dans le classeur original a aussi changé. Sur mon poste, le bouton est alors affecté à une macro dans le nouveau fichier (qui ne contient pas de macro !).

J'ai commencé à modifier le code pour travailler directement dans le nouveau fichier.
En faisant une copie de la feuille puis en la supprimant au lieu d'un "move", je n'ai plus le problème. C'est déjà ça.

Bonne journée,
 

Dranreb

XLDnaute Barbatruc
Re : Perte d'affection à un bouton suite SaveAs

Bonjour.

Encore une fois, je n'ai pas constaté ce phénomène chez moi et ne puis donc en dire la cause, sauf à ne pas s'apercevoir que la feuille avait déjà été déplacée et que c'est la feuille Accueil PGM qui s'est retrouvée déplacée à son tour.
 

variable

XLDnaute Nouveau
Re : Perte d'affection à un bouton suite SaveAs

Bonjour,

Je poursuis donc de mon côté sans vraiment avoir trouvé d'explication.
Travailler en 2 temps (copie de la feuille puis suppression) me permet de contourner le problème.
Peut-être que je finirai pas trouver le fin mot de l'histoire.

Merci pour votre aide et bonne continuation,
 

Discussions similaires

Réponses
4
Affichages
319
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…