VBA : plantage d'excel au lancement successif de 2 macros

dionys0s

XLDnaute Impliqué
Bonjour/soir le forum :)

petit soucis, je ne suis absolument pas certain de trouver une solution. Voici mon problème.

J'ai une feuille comportant un tableau croisé dynamique qui s'actualise en cliquant sur un bouton. J'ai une premiere macro dans un module qui supprime des boutons qui sont obsolètes du fait de l'actualisation du classeur, et une deuxième macro qui recrée tous les boutons nécessaires.

Si je lance les 3 procédures de manière distinctes (clic pour actualiser le TCD, puis lancement de la macro 1 puis lancement de la macro 2), tout se passe c'est c'est glop youpi.

Mais si je modifie le code de mon bouton comme suit :
Code:
Private Sub CommandButton1_Click()

Application.ScreenUpdating = False
Application.ShowWindowsInTaskbar = False

ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
Range("B3").Select
Selection.Sort Order1:=xlAscending, Type:=xlSortLabels, OrderCustom:=1, Orientation:=xlTopToBottom

Call SupprimerLesBoutons
Call AjouterLesBoutons

End Sub

Là Excel plante. Y a-t-il une cause - sur laquelle je puisse influer - à cet étrange phénomène ? :confused:

D'avance merci pour votre aide ^^
 

Pièces jointes

  • Exemple.zip
    27.9 KB · Affichages: 72
  • Exemple.zip
    27.9 KB · Affichages: 67
  • Exemple.zip
    27.9 KB · Affichages: 82
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : VBA : plantage d'excel au lancement successif de 2 macros

Re

Dionys0s: Le problème doit provenir du fait que ton code du command_button est dans la feuille, puis tu le supprimes et la macro ne doit pas trop aimer.

Sinon, je prèfère les boutons de type formulaire avec click droit et affecter une macro que tu places dans un module.
 

dionys0s

XLDnaute Impliqué
Re : VBA : plantage d'excel au lancement successif de 2 macros

Re Michel

Re

Dionys0s: Le problème doit provenir du fait que ton code du command_button est dans la feuille, puis tu le supprimes

Je ne supprime pas le bouton qui lance l'actualisation du TCD et les 2 macros juste après. Je supprime tous les autres boutons sauf celui ci.

Merci pour ton alternative en tout cas

A+
 

dionys0s

XLDnaute Impliqué
Re : VBA : plantage d'excel au lancement successif de 2 macros

Re tout le monde.

Bon... ca marche sans marcher. Excel ne plante plus, mais les macros font des erreurs et intervertissent des boutons si elles sont lancées simultanément. Je crée donc 2 boutons : un pour l'actualisation du TCD + suppression des boutons, et un autre pour l'ajout des boutons, et là tout va bien.

Mon dernier problème est que je n'arrive pas à accéder aux propriétés du bouton formulaire (c'est pas un commandbutton) pour pouvoir faire un affichage/masquage conditionnel du bouton en fonction de l'état d'actualisation. En gros quand un bouton est disponible, l'autre ne l'est pas. Est-ce possible ?
 

skoobi

XLDnaute Barbatruc
Re : VBA : plantage d'excel au lancement successif de 2 macros

Bonsoir le fil,

pour afficher un objet formulaire (bouton, coche, etc...):

Code:
ActiveSheet.Shapes(1).Visible = True
remplacer éventuellement 1 par le nom du bouton.
Pour le masquer, remplacer True par False, tout simplement.
Code:
ActiveSheet.Shapes(2).Visible = False
Là c'est le 2eme bouton (ou autre) que l'on cache.
Tu l'auras deviné, l'affichage est complètement indépendant d'un bouton à l'autre.

bon test.
 

Statistiques des forums

Discussions
312 836
Messages
2 092 656
Membres
105 482
dernier inscrit
Eric.FKF