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 :

Pourquoi ca ne marche pas ?


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ergonome
    Inscrit en
    Décembre 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : Décembre 2015
    Messages : 31
    Points : 15
    Points
    15
    Par défaut Pourquoi ca ne marche pas ?
    il met en jaune le titre et bloque sur else

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    Sub Changercouleur()
     
    '
    ' Changercouleur Macro
     
    Dim cellule
    cellule = Sheets("chiffre").Range("E6")
     
    If cellule < 1 Then
     
        ActiveSheet.Shapes.Range(Array("TextBox 1")).Select
     
        With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill
            .Visible = msoTrue
            .ForeColor.ObjectThemeColor = msoThemeColorAccent2
            .ForeColor.TintAndShade = 0
            .ForeColor.Brightness = 0
            .Transparency = 0
            .Solid
     
    Else
     
    ActiveSheet.Shapes.Range(Array("TextBox 1")).Select
     
        With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill
            .Visible = msoTrue
            .ForeColor.ObjectThemeColor = msoThemeColorText1
            .ForeColor.TintAndShade = 0
            .ForeColor.Brightness = 0.150000006
            .Transparency = 0
            .Solid
     
        End With
      End If
    End Sub

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Il manque End With avant ton else.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ergonome
    Inscrit en
    Décembre 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : Décembre 2015
    Messages : 31
    Points : 15
    Points
    15
    Par défaut Bonsoir, j'ai corrigé le code, ca marche presque mais pas encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    Sub Changercouleur()
     
    '
    ' Changercouleur Macro
     
    Dim cellule
    cellule = Sheets("chiffre").Range("E6")
     
    If cellule < 1 Then
     
        ActiveSheet.Shapes.Range(Array("TextBox 1")).Select
     
        With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill
            .Visible = msoTrue
            .ForeColor.ObjectThemeColor = msoThemeColorAccent2
            .ForeColor.TintAndShade = 0
            .ForeColor.Brightness = 0
            .Transparency = 0
            .Solid
        End With
     
    Else
     
        ActiveSheet.Shapes.Range(Array("TextBox 1")).Select
     
        With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill
            .Visible = msoTrue
            .ForeColor.ObjectThemeColor = msoThemeColorText1
            .ForeColor.TintAndShade = 0
            .ForeColor.Brightness = 0.150000006
            .Transparency = 0
            .Solid
     
        End With
      End If
    End Sub

  4. #4
    Membre à l'essai
    Homme Profil pro
    Ergonome
    Inscrit en
    Décembre 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : Décembre 2015
    Messages : 31
    Points : 15
    Points
    15
    Par défaut Toujours pas résolu, si quelqu'un peut prendre 5 minutes
    Voilà,

    Pourtant un truc simple, mais difficile pour un débutant

    En fait le code semble ok, ou peut-être juste modifier un truc.


    Ce qu je cherche à faire, c'est changer la couleur de la police dans une zone texte, selon la valeur d'une autre cellule sur une autre feuille.

    La zone texte se trouve sur la feuille "source" et le chiffre sur la feuille chiffre.

    Le code semble ok

    Quel est mon souci

    C'est que pour que la macro s’exécute, il faut que je fasse exécuter la macro.

    Ensuite, il semblerait que la macro select la zone texte, ce qui fait pas trop discret.


    Donc, voici mon code qui se trouve sur une feuille dans la partie VBA dans un module

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    Sub Changercouleur()
     
    '
    ' Changercouleur Macro
     
    Dim cellule
    cellule = Sheets("chiffre").Range("E6")
     
    If cellule < 1 Then
     
        ActiveSheet.Shapes.Range(Array("TextBox 1")).Select
     
        With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill
            .Visible = msoTrue
            .ForeColor.ObjectThemeColor = msoThemeColorAccent2
            .ForeColor.TintAndShade = 0
            .ForeColor.Brightness = 0
            .Transparency = 0
            .Solid
        End With
     
    Else
     
        ActiveSheet.Shapes.Range(Array("TextBox 1")).Select
     
        With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill
            .Visible = msoTrue
            .ForeColor.ObjectThemeColor = msoThemeColorText1
            .ForeColor.TintAndShade = 0
            .ForeColor.Brightness = 0.150000006
            .Transparency = 0
            .Solid
     
        End With
      End If
    End Sub


    Merci

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

Discussions similaires

  1. Pourquoi INTERSECT ne marche pas ?
    Par Chatbour dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/06/2007, 22h03
  2. [Débutante] Pourquoi ça ne marche pas...?
    Par Tootsi dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 12/02/2006, 16h58
  3. Pourquoi ce code marche pas sous FF?
    Par Death83 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/09/2005, 10h04
  4. [W3C] Pourquoi ça ne marche pas sous IE
    Par polo-j dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 16/02/2005, 16h07

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