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 :

Colorier les cellules sans formules [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 79
    Par défaut Colorier les cellules sans formules
    Bonjour!

    Je vais vous expliquez dans un premier temps ce que je veux de mon programme.


    1. Je veux qu'il parcourt ma colonne 6 (donc F).
    2. Qu'il recherche dans cette colonne les chiffres qui sont en "dur" ( qui non donc pas de formule de type "=Rules!$K$28").
    3.Qu'il colorie la cellule de ces chiffres la en Rouge.
    4. Et je veux qu'il fasse cela pour tout mes onglets avec comme format "xx-wwww"(=>42 - SGGS)


    Voila 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
    Sub controle_formule()
    Dim S As Byte
    Dim r As Long, DerLig As Long
     
    For S = 6 To Sheets.Count 'Boucle sur les feuilles
        If Sheets(S).Name Like "*-*" Then 'Evite de de vérifier les formules sur la feuille Rules qui ne devrait pas en contenir, donc gain de temps
     
     
            DerLig = Sheets(S).Cells(Columns(6).Cells.Count, 6).End(xlUp).Row 'Détermine la dernière ligne remplie de la feuille
            For r = 1 To DerLig 'Boucle sur toutes les lignes remplies
                If Sheets(S).Cells(r, 6).Formula <> "=Rules*" And ActiveCell.Value <> "" Then
    '                If ActiveCell.Value = "" Then 'Or ActiveCell.Value <> [:digit:] Then
    '
    '                Else
                        Sheets(S).Cells(r, 6).Interior.ColorIndex = 3            'Si la cellule n'a pas la "formule" alors en rouge
    '                End If
                End If
            Next r
        End If
    Next S
     
    End Sub

    PS: les commentaires que je laisse sont idées que j'ai eu...


    Donc le problème de ce code c'est qu'une fois lancé je me retrouve avec toute mes colonnes F en rouges...

    J'aurai donc grandement besoin d'aide!

    En vous remerciant !

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Sh As Worksheet
    For Each Sh In ThisWorkbook.Worksheets
        If InStr(Sh.Name, "-") > 0 Then Sh.Range("F:F").SpecialCells(xlCellTypeConstants, xlNumbers).Interior.ColorIndex = 3
    Next Sh

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 79
    Par défaut
    Salut mercatog!

    J'ai essayé ton script, mais malheureusement il ne fonctionne pas...
    je n'obtiens aucune erreur, en faite je n'obtiens rien...

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Par défaut
    salut

    HasFormula est une propriété d'un objet Range. Elle est à True (si formule) ou à False (si pas de formule)
    C'était bien là ton problème ? (pas sûr).

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 79
    Par défaut
    Youhou merci cela marche!
    Merci babaothe!
    J'ai une dernière petite question comment ne pas prendre en compte les cellules vide et les cellules contenant une chaine de caractère?
    Car j'obtiens bien le résultat voulu, c'est a dire les cellules qui ne contienne pas de formule en rouge mais du coup les cellules vides aussi deviennent rouge:
    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
    Sub controle_formule()
    Dim S As Byte
    Dim r As Long, DerLig As Long
     
    For S = 6 To Sheets.Count 'Boucle sur les feuilles
        If Sheets(S).Name Like "*-*" Then 'Evite de de vérifier les formules sur la feuille Rules qui ne devrait pas en contenir, donc gain de temps
            DerLig = Sheets(S).Cells(Columns(6).Cells.Count, 6).End(xlUp).Row 'Détermine la dernière ligne remplie de la feuille
            For r = 1 To DerLig 'Boucle sur toutes les lignes remplies
                If Sheets(S).Cells(r, 6).HasFormula = False Then
                    If ActiveCell.Value <> "" Then
                        Sheets(S).Cells(r, 6).Interior.ColorIndex = 3            'Si la cellule n'a pas la "formule" alors en rouge
                    End If
                End If
            Next r
        End If
    Next S
    End Sub
    Comme vous pouvez le voir j'ai essayer de créer une condition...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 79
    Par défaut
    Ok... Je retire ce que j'ai dit je me suis débrouillé pour les cellules vides...
    Cependant je ne vois pas trop comment faire pour mes cellules contenant des titres!

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

Discussions similaires

  1. Comment colorier les cellules selon un critère,
    Par abouilyas dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 06/07/2011, 06h34
  2. [XL-2007] Inserer valeurs cellules sans formules - Débutant
    Par isfet dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/05/2010, 18h53
  3. Trier cellules en ignorant les cellules avec formule
    Par Neptune64 dans le forum Conception
    Réponses: 2
    Dernier message: 20/10/2009, 21h04
  4. Identification des cellules sans formule
    Par Tifendro dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/06/2008, 21h45
  5. [CR9] Colorier les cellules d'un tableau croisé
    Par Koko22 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 14/11/2003, 16h57

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