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 :

Insertion formule pour mise en forme conditionnelle [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Bureau d'étude
    Inscrit en
    Décembre 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Bureau d'étude

    Informations forums :
    Inscription : Décembre 2018
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Insertion formule pour mise en forme conditionnelle
    Bonjour à tous,

    J'essaie d'écrire une macro pour rendre automatique la mise en forme de tableaux. Seulement le Hic c'est qu'avec mes maigres connaissances parfois je coince :

    Mon soucis actuel est que j'essaie d'intégrer une règle de mise en forme conditionnelle avec une formule mais je n'arrive pas à "bien l'écrire" sous VBA et du coup cela ne fonctionne pas...

    J'essaie d'écrire cette formule : "$F5 = "SA" en sachant qu'en fonction du tableau sélectionné le "$F5" change. J'ai donc écris ceci :

    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
    b = 6
     
    'For b = 5 To 60 Step 12
     
    Dim for_3_1 As String, lettre_colonne As String
     
    lettre_colonne = Split(Columns(b).Address(ColumnAbsolute:=True), ":")(1)
     
    for_3_1 = lettre_colonne & 5 & "=""SA"""
     
    'Application formule 3
     
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:=for_3_1 
        Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
        With Selection.FormatConditions(1).Interior
            .PatternColorIndex = xlAutomatic
            .ThemeColor = xlThemeColorDark1
            .TintAndShade = -0.249977111117893
        End With
        Selection.FormatConditions(1).StopIfTrue = False
    J'utilise la fonction split pour récupérer la lettre de la colonne, j'y associe le numéro de ligne puis le =""SA""" et malgré pleins de tentative je fini toujours par obtenir dans mon tableau de mise en forme conditionnelle ceci : ="$F5=""SA"""

    Du coup j'aimerais avoir un ptit coup de main pour comprendre ce que je fais mal ?

    Merci
    Bonne journée

    Bastien

  2. #2
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Testes de cette façon et n'oublie pas qu'une formule dans Excel demande le signe égal devant :
    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
     
    Sub Test()
     
        Dim Plage As Range
        Dim Cel As String
        Dim for_3_1 As String, lettre_colonne As String
     
        Cel = Cells(5, 6).Address(0, 1)
     
        for_3_1 = "=" & Cel & "=" & """SA"""
        Set Plage = Selection
     
        With Plage
     
            .FormatConditions.Add Type:=xlExpression, Formula1:=for_3_1
            .FormatConditions(.FormatConditions.Count).SetFirstPriority
     
            With .FormatConditions(1).Interior
     
                .PatternColorIndex = xlAutomatic
                .ThemeColor = xlThemeColorDark1
                .TintAndShade = -0.249977111117893
     
            End With
     
            .FormatConditions(1).StopIfTrue = False
     
        End With
     
    End Sub

  3. #3
    Candidat au Club
    Homme Profil pro
    Bureau d'étude
    Inscrit en
    Décembre 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Bureau d'étude

    Informations forums :
    Inscription : Décembre 2018
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour

    Merci Theze, cela fonctionne impec.

    Si tu as 5 min pourras tu m'expliquer ce que je faisait de mal dans ma façon de faire s'il te plait ?

    Merci

    Bonne journée

  4. #4
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Comme je l'ai dis, il manque le signe égal !
    Ta ligne de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    for_3_1 = lettre_colonne & 5 & "=""SA"""
    la mienne (on voit bien les deux signes =, en fait il y en a trois mais deux font partis de la formule qui va être inscrite dans la MFC) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    for_3_1 = "=" & Cel & "=" & """SA"""
    Le tout premier est l'affectation à la variable "for_3_1 " et ne compte pas dans la formule, le second est celui qu'il te manquait et qui permet à Excel de savoir que c'est une formule et le dernier est le signe de comparaison !

  5. #5
    Candidat au Club
    Homme Profil pro
    Bureau d'étude
    Inscrit en
    Décembre 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Bureau d'étude

    Informations forums :
    Inscription : Décembre 2018
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    C'est noté. Merci pour ton aide

    Bonne journée

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

Discussions similaires

  1. [XL-2010] Ajout d'un jeu d'icone pour mise en forme conditionnelle MFC
    Par tomcat0125 dans le forum Excel
    Réponses: 0
    Dernier message: 15/06/2011, 10h52
  2. Aide pour mise en forme conditionnelle
    Par djoenis dans le forum Excel
    Réponses: 12
    Dernier message: 31/03/2011, 10h21
  3. macro pour mise en forme conditionnelle
    Par dodo28 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/03/2009, 20h21
  4. Formule de mise en forme conditionnelle
    Par Coralie73 dans le forum Excel
    Réponses: 3
    Dernier message: 29/11/2008, 12h37
  5. [Formule]pb mise en forme conditionnelle
    Par kickoune dans le forum Excel
    Réponses: 2
    Dernier message: 11/04/2007, 20h58

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