Macro qui travaille "discretement"

Résolu
likemonster Messages postés 40 Date d'inscription vendredi 16 janvier 2009 Statut Membre Dernière intervention 29 octobre 2009 - 18 mars 2009 à 16:46
likemonster Messages postés 40 Date d'inscription vendredi 16 janvier 2009 Statut Membre Dernière intervention 29 octobre 2009 - 18 mars 2009 à 17:51
Bonjour, voici mon problème j'ai une feuille 1 ou j'ai une macro privé qui dit si une cellule est modifié sur la plage A7:C206, alors le message "Attention lancez la macroX" puis la macro2 se lance automatiquement.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [A7:C206]) Is Nothing Then
Cancel = True
  ActiveSheet.Unprotect
Range("F15") = "Attention, relancez la macroX!!"

Run ("macro2")
  ActiveSheet.Protect
End If

End Sub

Voici le code de la macro 2:

Sub macro2()
Sheets("feuil3").Activate
    ActiveSheet.Unprotect
    ActiveSheet.ChartObjects("Graphique 1").Activate
    With ActiveChart
        .HasTitle = True
        .ChartTitle.Characters.Text = "Diagramme Faux: Non Actualisé"
    End With
   
    Range("D2") = "Attention, relancez la macro Tracer Diagramme!!"
    ActiveSheet.Protect
   Sheets("Données expérimentales").Activate
End Sub

Je voudrais que la macro 2 s'execute sans voir l'affichage de la feuil3! Je m'explique si j'ai 4 valeur à modifier sur la feuille 1 et bien je vais avoir la feuille 3 qui s'affichera 4 fois. Certes c'est très très rapide mais ennuyeux!! Est il possible que la macro 2 s'execute sur la feuille 3 avec l'affichage restant sur la feuille 1??

Cordialement!

6 réponses

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
18 mars 2009 à 17:45
ouais c'est du au graph. qui est activé quand meme, meme si on ne lui demande pas. Sur un PC rapide cela ne ce vois pas

Donc 2 ajouts pour les pc lent :

Sub macro2()
    Application.ScreenUpdating = False
    With Sheets("feuil3")
        .Unprotect
        With .ChartObjects("Graphique 1").Chart
            .HasTitle = True
            .ChartTitle.Characters.Text = "Diagramme Faux: Non Actualisé"
        End With
        .Range("D2").Value = "Attention, relancez la macro Tracer Diagramme!!"
        .Protect
    End With
    Application.ScreenUpdating = True
End Sub
3
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
18 mars 2009 à 17:13
Salut,

et bien voici une belle occasion de rappeler qu'il ne sert a rien en VBA excel d'activer ou de selectionner pour travailler sur des feuilles, des cellules voir des graphiques ou autre objets (sauf execption evidemment ;)

Sub macro2()
    With Sheets("feuil3")
        .Unprotect
        With .ChartObjects("Graphique 1").Chart
            .HasTitle = True
            .ChartTitle.Characters.Text = "Diagramme Faux: Non Actualisé"
        End With
        .Range("D2").Value = "Attention, relancez la macro Tracer Diagramme!!"
        .Protect
    End With
End Sub

ATTENTION aux points car sans eux rien ne fonctionne !
0
likemonster Messages postés 40 Date d'inscription vendredi 16 janvier 2009 Statut Membre Dernière intervention 29 octobre 2009
18 mars 2009 à 17:26
salut bigfish_le vrai!! je viens de tester ton code en faisant un copier coller afin de ne pas oublier les points mais j'ai toujours le même soucis....
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
18 mars 2009 à 17:33
Tu la vois apparaitre puis disparaitre ou alors elle apparait et reste affichée ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
likemonster Messages postés 40 Date d'inscription vendredi 16 janvier 2009 Statut Membre Dernière intervention 29 octobre 2009
18 mars 2009 à 17:35
La feuille 3 apparait puis disparait! il n'y a pas de changement par rapport à mon code de départ.
0
likemonster Messages postés 40 Date d'inscription vendredi 16 janvier 2009 Statut Membre Dernière intervention 29 octobre 2009
18 mars 2009 à 17:51
Nikel!!!!!!!!!!!!!!! ça marche impec!! Merci beaucoup!!!!!! Oui effectivement mon pc n'est pas tout recent...............
0
Rejoignez-nous