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 :

Impossible de Créer une Mise en Forme Conditionnelle [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Etudiant Apprenti en SI
    Inscrit en
    Mars 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant Apprenti en SI

    Informations forums :
    Inscription : Mars 2014
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Impossible de Créer une Mise en Forme Conditionnelle
    Bonjour,

    Je cherche à créer une mise en forme conditionnelle sur les 5 différents champs d'un TCD, en VBA.
    Avec le code ci-dessous, aucun souci pour les 4 premiers champs. Au 5ème champs le code s'arrête sur la ligne de code "Selection.FormatConditions(1).ColorScaleCriteria(1).Type = _
    xlConditionValueLowestValue"
    avec l'erreur "l'indice n'appartient pas à la sélection".

    - si je fais cette MEFC manuellement dans mon fichier, aucun souci pour les 4 premiers champs. Sur le 5ème quand je clique sur le bouton "OK" à la fin des paramètrages de la MEFC, la fenêtre reste active et rien ne se créé !!!
    - en copiant les données de ce champs dans la colonne d'après, la MEFC fonctionne.
    - en créant une nouvelle feuille, en recréant mon fichier Excel, même erreur.

    Si quelqu'un peut m'aider, je m'arrache les cheveux !!! et ne trouve rien de similaire sur internet...

    Merci d'avance pour vos réponses

    Mon code:

    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
    a = Range("A6").End(xlDown).Offset.Row 
    e = Range("B4").End(xlToRight).Column 
    For i = 2 To e 
         Range(Cells(6, i), Cells(a, i)).Select 
         Selection.FormatConditions.AddColorScale ColorScaleType:=3 
         Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority 
         Selection.FormatConditions(1).ColorScaleCriteria(1).Type = _ 
              xlConditionValueLowestValue 
         With Selection.FormatConditions(1).ColorScaleCriteria(1).FormatColor 
              .Color = 788644 
              .TintAndShade = 0 
         End With 
         Selection.FormatConditions(1).ColorScaleCriteria(2).Type = _ 
             xlConditionValueNumber 
         Selection.FormatConditions(1).ColorScaleCriteria(2).Value = Cells(5, i) 
         With Selection.FormatConditions(1).ColorScaleCriteria(2).FormatColor 
              .Color = 8711167 
              .TintAndShade = 0 
         End With 
         Selection.FormatConditions(1).ColorScaleCriteria(3).Type = _ 
               xlConditionValueHighestValue 
         With Selection.FormatConditions(1).ColorScaleCriteria(3).FormatColor 
               .Color = 3893035 
               .TintAndShade = 0 
         End With 
    Next i

  2. #2
    Membre du Club
    Homme Profil pro
    Ingénieur STC, systèmes de supervision
    Inscrit en
    Juin 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur STC, systèmes de supervision
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 58
    Points : 59
    Points
    59
    Par défaut
    Bonjour,

    Sans le TCD sous les yeux, c'est dur de te répondre...
    Pour commencer, en quelle ligne se trouve ton entête? (question détournée, pourquoi utiliser A6 et B4 pour identifier a et e)
    Le 5e champ, c'est la 5e colonne j'imagine?! Qu'y a t-il de différent dans cette 5e colonne par rapport aux 4 premières? Car si le code marche pour les 4 premières lignes, çà ne peut venir que de ton TCD... Conflit avec un autre Conditional Formatting?! Classeur protégé? Cellule fusionnée....

    Personnellement, je n'ai pas réussi à reproduire ton erreur ^^ tu peux nous joindre ton fichier?

  3. #3
    Candidat au Club
    Homme Profil pro
    Etudiant Apprenti en SI
    Inscrit en
    Mars 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant Apprenti en SI

    Informations forums :
    Inscription : Mars 2014
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bonjour

    Je pars de A6 et B4 pour éviter mon titre que je mets au-dessus, et des cellules vides dûes à mon TCD.

    Sinon j'ai trouvé une solution à mon problème ! Je faisais la MEFC après avoir modifié les paramètres de champs du TCD, et ses options. En la faisant avant aucun souci !
    Pour répondre à ta question, les champs du TCD avaient tous les mêmes paramètres, le même type de données... Ce qui m'embête c'est de ne pas avoir trouvé/compris d'où vient l'erreur ^^ Mais bon ça fonctionne.

    En tout cas merci de ta réponse, bon weekend

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

Discussions similaires

  1. [XL-2007] Rédaction d'une Mise en Forme Conditionnelle
    Par Oliv'83 dans le forum Excel
    Réponses: 6
    Dernier message: 22/10/2009, 09h36
  2. Copie d'une mise en forme conditionnelle
    Par jnauche dans le forum Excel
    Réponses: 3
    Dernier message: 24/09/2008, 15h04
  3. Cellules avec une mise en forme conditionnelle
    Par Peanut dans le forum Excel
    Réponses: 2
    Dernier message: 31/07/2008, 13h47
  4. [VBA EXCEL]: Savoir si une mise en forme conditionnelle est active
    Par ADONET dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/01/2007, 14h59
  5. Réponses: 6
    Dernier message: 07/08/2006, 11h26

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