Probléme macro disparait lors de l'enregistrement

chasseur44

XLDnaute Occasionnel
Bonjour Forum !
J'ai une macro qui me permet de créer un bouton et d'y associer une macro.
Macro que j'ai récupéré sur le forum et adapté à mon besoin (j'ai srcuté tous les topic mais en vain)


Sub crea_bouton_et_macro()

Dim Ws As Worksheet
Dim Obj As Object
Dim x As Integer

Set Ws = ActiveSheet
Set Obj = Ws.OLEObjects.Add("Forms.CommandButton.1")
With Obj
.Left = 180
.Top = 5
.Width = 190
.Height = 25
.Object.Caption = "Vision : Cumulé"
End With

With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.CodeName).CodeModule
x = .CountOfLines
.insertlines x + 1, "private Sub CommandButton1_Click()"
.insertlines x + 2, "cells(5,1).Select"
.insertlines x + 3, "If ActiveSheet.CommandButton1.Caption = ""Vision : Mensuel"" Then"
.insertlines x + 4, "ActiveWorkbook.ShowPivotTableFieldList = True"
.insertlines x + 5, " With ActiveSheet.PivotTables(""TCD3"").PivotFields(""Somme de Nombre d'heures"")"
.insertlines x + 6, " .Calculation = xlNormal"
.insertlines x + 7, " End With"
.insertlines x + 8, "ActiveSheet.PivotTables(""TCD3"").ColumnGrand = True"
.insertlines x + 9, "ActiveSheet.PivotTables(""TCD3"").RowGrand = True"
.insertlines x + 10, "ActiveSheet.CommandButton1.Caption = ""Vision : Cumulé"""
.insertlines x + 11, "ElseIf ActiveSheet.CommandButton1.Caption = ""Vision : Cumulé"" Then"
.insertlines x + 12, "ActiveWorkbook.ShowPivotTableFieldList = True"
.insertlines x + 13, "With ActiveSheet.PivotTables(""TCD3"").PivotFields(""Somme de Nombre d'heures"")"
.insertlines x + 14, " .Calculation = xlRunningTotal"
.insertlines x + 15, " .BaseField = ""Mois année"""
.insertlines x + 16, "End With"
.insertlines x + 17, "ActiveSheet.PivotTables(""TCD3"").ColumnGrand = True"
.insertlines x + 18, "ActiveSheet.PivotTables(""TCD3"").RowGrand = False"
.insertlines x + 19, "ActiveSheet.CommandButton1.Caption = ""Vision : Mensuel"""
.insertlines x + 20, "End if"
.insertlines x + 21, "End Sub"
End With

Range("A1").Select
End Sub


Cette macro fonctionne correctement (création du bouton et affectation de la macro dans la bonne feuille) mais quand j'ajoute ce module dans ma macro générale qui se termine par une sauvegarde (en xlsm) et une fermeture du fichier créée. je vois bien quand j'ouvre le fichier le bouton mais aucune macro affectée (en pas à pas je vois la macro qui s'affecte à la bonne feuille ds ma visu Projet de VBA) ?

Je tourne en rond ! Merci pour votre aide
 
Dernière édition:

Paritec

XLDnaute Barbatruc
Re : Probléme macro disparait lors de l'enregistrement

Re Bonjour Roland et tous le forum
bon alors pour t'être agréable et ne pas passer à coté de quelque chose, j'ai fait très exactement ce que tu as demandé et devine??
Allez devine?? bah la macro n'est plus là dans le fichier classeur2.xlsm
j'avais bien entendu activé excel en administrateur car autrement ce n'est pas permis d'enregistrer sous la racine de C:\ je suis sous windows 8.1
et le résultat est absolument le même !!!! le bouton oui mais la macro non
à suivre
a+
Papou:)
 

MJ13

XLDnaute Barbatruc
Re : Probléme macro disparait lors de l'enregistrement

Re

Ok, mais quand je vois tous ces post et jamais de fichiers, comment savoir quel code prendre?

En général, les gens qui ne mettent jamais de fichiers n'ont pas compris grand chose à XLD :).
 

Paritec

XLDnaute Barbatruc
Re : Probléme macro disparait lors de l'enregistrement

Re Michel le forum
mais si il y a un fichier au début, mais cela ne change rien, c'est pas son fichier, c'est le faite de lancer une macro d'un fichier A sur un fichier B qui est là pour créer un bouton et la macro de ce bouton dans le fichier B et après enregistrement et fermeture et réouverture du fichier B la macro a disparu
a+
Papou:)
 

Roland_M

XLDnaute Barbatruc
Re : Probléme macro disparait lors de l'enregistrement

re

@Paritec, moi j'avais mis ce code exemple avec commentaire justement pour MJ13 après son intervention,
mais pas pour toi, enfin soit, ça ne fais que confirmer le problème !?
 

Paritec

XLDnaute Barbatruc
Re : Probléme macro disparait lors de l'enregistrement

Re Roland le forum
oui mais tu sais je l'ai refait pour vérifier mais le résultat et le même, je suis entrain de fouiller les options excel pour voir si je ne suis pas passé à coté d'un paramètre au cas ou ??
a+
Papou:)
 

Staple1600

XLDnaute Barbatruc
Re : Probléme macro disparait lors de l'enregistrement

Bonsoir à tous

Pour mémoire
Le code de Roland_M est celui que j'ai précédemment posté dans le message #16 et qui je le rappelle fonctionne chez moi ;)
(avec ou sans Do Events)
Et la principale différence à mon sens avec le code du premier message se situe ici
Dim Ws As Worksheet, wbKDest As Workbook, Obj As Object, cVBA$
Set wbKDest = Workbooks.Open(Filename:="C:\Temp\testJM.xlsm")
Set Ws = wbKDest.Sheets(1)

Le code du premier message utilisant ActiveWorkBook et ActiveSheet
(donc le classeur A contenant la macro et pas le classeur B où l'on doit créer le bouton et le code VBA s'y rattachant.
 

Roland_M

XLDnaute Barbatruc
Re : Probléme macro disparait lors de l'enregistrement

re

mais bien entendu Staple, je sais ça, mais comme le problème est tordu, alors autant tout essayer !?



EDIT: milles excuses Staple ! j'avais tapé MJ13 !!!!!!!!
 
Dernière édition:

Discussions similaires

Réponses
1
Affichages
385
Réponses
0
Affichages
308

Statistiques des forums

Discussions
314 644
Messages
2 111 528
Membres
111 189
dernier inscrit
Laurent.