Ma macro ne s'execute pas automatiquement

Bonjour

J'ai fait en sorte qu'avec les fichiers que tu fournis, les textes des formes changent de couleur

Explique comment est modifiée la cellule BC4 de la page Calcul

Réponse claire du style :

BC4 est modifié par la cellule ..... de telle feuille

ou

BC4 est modifiée manuellement

ou

Il faut fournir un fichier qui reflète la réalité de ton fichier

Sinon on va trouver des solutions qui ne seront pas valables une fois transposées dans ton fichier (ce qui est le cas actuellement)

En attendant

Supprime la macro évènementielle Worksheet_Change de la page TDB

Copie la macro suivante dans le module de la feuille Calcul

Private Sub Worksheet_Calculate()
  changercouleur
End Sub

Si cela ne fonctionne pas , fournis le fichier en cause

Merci pour tous ses efforts.

Mon chiffre qui se trouve sur la feuille Calcul!$BC4 est un résultat de formule (exprimé en pourcentage), se trouvant sur la feuille Calcul!

C'est un pourcentage de chiffre d'affaire sur objectif, qui varie selon la période choisie (janvier, février,...).

Il faut savoir que cette feuille calcul ne sera pas visible par la suite.

M feuille TDB reprend toutes les informations de ma page calcul.

sur ma feuille TDB se trouve notamment plusieurs zones textes, dont deux reprenne le chiffre de ma feuille Calcul!$BC4.

Ce sont les zone textes 12 et 24.

Ce qui se passe, c'est que sur ma feuille TDB, selon mes critères de filtres, cela va modifier le pourcentage qui se trouve sur ma feuille Calcul!$BC4.

Et par conséquent, ceux de ma feuille TDB dans mes zones textes 12 et 24.

L'objectif de la macro est de faire apparaître le pourcentage en rouge, lorsqu'il est en dessous de 100% et noir au dessus.

Voilà, je vais essayer le code,

Merci en tout cas, je vous tiens au courant

Ok,

Cela fonctionne

Donc voici le code, car il ne voulait pas au départ, il a du modifier un truc (débogage)

Donc code dans la module

Sub changercouleur()

' Changercouleur Macro
Dim cellule

  cellule = Sheets("Calcul").Range("BC4")

  With ActiveSheet.Shapes.Range(Array("TextBox 12", "TextBox 24"))
    'With ActiveSheet.Shapes.Range(Array("TextBox 12","TextBox 24" ))

      If cellule < 1 Then
        With .TextFrame2.TextRange.Font.Fill
          .Visible = msoTrue
          .ForeColor.ObjectThemeColor = msoThemeColorAccent2
          .ForeColor.TintAndShade = 0
          .ForeColor.Brightness = 0
          .Transparency = 0
          .Solid
        End With
      Else
        With .TextFrame2.TextRange.Font.Fill
          .Visible = msoTrue
          .ForeColor.ObjectThemeColor = msoThemeColorText1
          .ForeColor.TintAndShade = 0
          .ForeColor.Brightness = 0.150000006
          .Transparency = 0
          .Solid
        End With
      End If
    End With
  End Sub

et ensuite,

le code mis sur la feuille TDB ou se trouve les zones textes

Private Sub Worksheet_Calculate()
  changercouleur
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    'actualiser les données automatiquement'
    ActiveWorkbook.RefreshAll

End Sub

Par contre, je crois que cela coincé, car il faut mettre Change dans la fenêtre VBA, car lui lorsque l'on rentre le code, il met changer, et cela le pertube et ouvre la fenêtre d'erreur.

Merci beaucoup encore une fois de ta patience

Et un grand merci et bonne fin de journée

Bonjour

Bien content que cela fonctionne

Ça a été dur mais on y est arrivé

Juste une dernière formalité : Il faut clôturé ce post (regarde ma signature et recherche dans un message le signe)

OUI,

par contre je vien juste de vouloir l'enregistrer mon fichier et il me mets la fenêtre debogage

en fichier joitnt

Pour la ligne


Non, c'est ok

je ne sais pas trop ce que j'ai fait, j'ai appuyer sur la fenêtre deboguer.

ca marche, j'ai pu enregistre.

Non un GRAND Merci

2015 12 13 20h03 25
Rechercher des sujets similaires à "macro execute pas automatiquement"