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 :

Changer la police d'une cellule contenant une fonction


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Employé administratif
    Inscrit en
    Février 2014
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé administratif

    Informations forums :
    Inscription : Février 2014
    Messages : 77
    Points : 28
    Points
    28
    Par défaut Changer la police d'une cellule contenant une fonction
    Bonjour,


    Je souhaiterais changer la police-couleur de chaque cellule dans une colonne. Cette colonne contient une suite de cellules dont le résultat provient d'une fonction de recherche de données. Certaines cellules affichent le résultat #N/A et je ne parviens pas avec la gestion des erreurs à laisser la police rouge. Quelle est la modification à apporter ?


    Voici ma syntaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    For compteur = 1 To 10
    On Error Resume Next
    If ActiveCell = "#N/A" Then
    ActiveCell.Font.ColorIndex = 3
    End If
    If ActiveCell = "Journalier" Then
    ActiveCell.Font.ColorIndex = 5
    End If
    ActiveCell.Offset(1,0).Select
    Next compteur
    End Sub

    Vous en remerciant par avance.


    Cordialement.

  2. #2
    Membre éprouvé Avatar de issoram
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 665
    Points : 929
    Points
    929
    Par défaut
    Bonjour,

    Pour ce genre de problèmes je te conseille la mise en forme conditionnelle plutôt que du code.

  3. #3
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut test couleur
    Bonjour Bjt, Bonjour le Forum,

    Bienvenu.

    Un conseil, maintes fois répété dans ce forum, évite ces f... de Select qui n'apportent rien.
    En VBA, l'action sur objet, ici Range, suffit. Elle peut donc se passer de sa selection préalable.

    Etudie ce code (à adapter) et reviens si nécessaire

    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
    Option Explicit
     
    Public Sub esai_police()
     
    Dim c As Range
    Dim lacouleur As Byte
     
    For Each c In Worksheets(1).Range("B2:B10")
        With c
                Select Case True
                    Case IsError(.Value)
                        lacouleur = 3
                    Case .Value = "Journalier"
                        lacouleur = 5
                End Select
                .Font.ColorIndex = lacouleur
        End With
    Next c
     
    End Sub
    Bonne journée.

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  4. #4
    Membre actif
    Homme Profil pro
    Pompier de service
    Inscrit en
    Février 2014
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Pompier de service

    Informations forums :
    Inscription : Février 2014
    Messages : 144
    Points : 223
    Points
    223
    Par défaut
    J'ai une très mauvaise expérience avec les MFC...

    En effet, si on applique une MFC à un range, puis qu'on fait des copier/coller multiples de ce range, on peut se retrouver avec x milliers de MFC dans la liste... et ça devient vite ingérable (en plus, ça fait augmenter considérablement la taille du fichier)

    Par contre, ceci doit marcher dans ton code : ActiveCell.Text = "#N/A" (car par défaut, la valeur est .Value et non .Text)

    Et pour ce que dit MarcelG, je ne peux que plussoyer...
    "Rien ne sert de dire ce qu'on fait, si on ne fait pas ce qu'on dit" (Moi)

  5. #5
    Membre éprouvé Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Points : 973
    Points
    973
    Par défaut
    Bonjour

    Excel ne voit pas #N/A dans la cellule mais erreur ????
    #div/0 = erreur 2007
    #valeur = erreur 2015
    #n/a = erreur 2042
    donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     If ActiveCell = "#N/A" Then
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     if activecell = "erreur 2042"
    'ou alors if activecell like "erreur*" then

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/03/2013, 13h00
  2. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  3. [XL-2007] problème de codage en vba ("copie d'une partie d'une cellule dans une cellule vide")
    Par skipeemed dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/10/2010, 17h01
  4. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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