IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Utilisation fonction "UndoAction"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 32
    Par défaut Utilisation fonction "UndoAction"
    Bonjour à tous,

    Je vous soumet un petit problème surement très simple pour vous.

    J'ai besoin de créer une macro très spécifique sous excel qui va:
    1 - Sélectionner un graphique dans ma feuille excel
    2- Supprimer la légende du graphique
    3- (La partie compliquée) Remettre la légende en utilisant le bouton "annuler" de Excel (soit, la fonctio nundoAction)!

    Voici mon code actuel qui ne fonctionne pas...bien évidemment!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Graph ()
    ActiveSheet.ChartObjects("Graphique 54").Activate
        ActiveChart.HasLegend = False
        ActiveChart.HasLegend.UndoAction   (Cette ligne bloque la macro)
    End Sub
    Comment utiliser la fonction undoaction pour faire ça correctement ?

    Merci à tous par avance.

    Pour ceux qui ce demandent "mais pourquoi veut-ils faire une macro pour annuler ce qui vient d'être fait" pourront trouver une explication dans ce bug d'Excel: http://support.microsoft.com/kb/930081/fr
    Mes graphiques ne se mettent pas à jour sans qu'on les modifient puis qu'on annule la modification en cliquant sur le bouton annuler!!

    Merci Microsoft!

    Mathieu.

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    Peux pas vérifier (mon portable avec Excel est sous l'emprise totale d'un gamin ...)

    De mémoire, donc ... (à vérifier)

    1) il me semble que UndoAction (et ses associés CanUndo et CanRedo) ne s'appliquent qu'aux modifs intervenues sur une UserForm

    2) avec une UserForm, la syntaxe devrait ressembler à ceci (pour une UserForm nommée toto)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      If toto.CanUndo Then 
            toto.UndoAction 
        End If
    En aucun cas applicable à un objet de l'UserForm, mais à l'UserForm elle-même...

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut mathieu7497
    N'étant pas sur 2007, je ne connait pas le problème

    à ma connaissance, il n'existe pas de fonction Undo pour les macros : si ça existait, ce serait comme sur la feuille Excel (Ctrl + Z) et ça serait bien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Graph ()
    ActiveSheet.ChartObjects("Graphique 54").Activate
    ActiveChart.HasLegend = False
    ActiveChart.HasLegend = True
    End Sub
    A+

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour, Gorgael ...

    Mais si, mais si !

    Sauf que (voir ce que j'ai dit) il me semble que celà ne peut être appliqué qu'à une UserForm

  5. #5
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 32
    Par défaut undoaction pour userform
    Bonjour et merci à tous.

    Effectivement après d'autres recherches cette méthode ne pas s'appliquer directement en vba. Mais s'applique sur des userform.

    Il va donc me falloir trouver une autre solution pour contourner le bug microsoft sur mes graphiques.

    Je relance un poste dans le forum général sur Excel.

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 27/11/2006, 18h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo