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 :

formattage conditionnel sur usedrange [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 27
    Par défaut formattage conditionnel sur usedrange
    Bonjour,

    sur la plage: "de la cellule C4 jusqu´a la derniere cellule non vide de la colonne C", je souhaite surligner les cases dont la valeur dépasse LimitValue.

    Voici ce que j´ai fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim LimitValue As Integer
    Dim Cell As Range 
     
    LimitValue = -10
     
    For Each Cell In DataSheet.Range("C4:C" & Range("C65536").End(xlUp).Row)
        If Cell.Value > LimitValue Then
            Cell.Interior.ColorIndex = 6
        End If
    Next Cell

    Cela ne fonctionne pas: le code surligne les cases C1 à C3 qui sont des entêtes (et en plus qui ne sont pas dans le range demandé !).

    Pour info: dans cette colonne, toutes les valeurs sont à 0 (donc toutes >-10) sur C4:C3636 (puisque C1,C2,C3 sont des entêtes).

    Plus étrange encore: si je remplace LimitValue par 10 au lieu de -10, alors les colonnes C1 à C4 sont surlignées !! (donc les 3 entêtes et la première valeur (=0)).

    Voilà j´ai pourtant cherché des infos sur le usedrange. La syntaxe semble être celle-là pourtant...
    Je vous remercie pour votre aide.
    Cordialement.

  2. #2
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    Bonjour,

    Peux tu envoyer ton fichier stp?

  3. #3
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    Essayes avec ce 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
     
    Dim LimitValue As Integer
     
    LimitValue = -10
     
     For i = 1 To DataSheet.Range("C" & Rows.Count).End(xlUp).Row
     
        If DataSheet.Range("C" & i).Value > LimitValue Then
     
            DataSheet.Range("C" & i).Interior.ColorIndex = 6
     
        End If
     
    Next i

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 27
    Par défaut
    C´est parfait ca marche très bien.

    Merci beaucoup pour votre réponse rapide.

    Où était mon erreur alors? Il semble que ce soit l´utilisation de la variable Cell qui n´ai pas marché?

  5. #5
    Membre expérimenté
    Inscrit en
    Juillet 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 239
    Par défaut
    J'ai pas testé mais l'erreur vient sans doute de la syntaxe , essayes :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for Each Cell In DataSheet.Range("C4:C" & Range("C65536").End(xlUp).Row).cells
     
    ...

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/01/2007, 11h18
  2. operation conditionnelle sur colonne dans un select
    Par Monstros Velu dans le forum Langage SQL
    Réponses: 5
    Dernier message: 05/12/2006, 11h31
  3. Lookup conditionnel sur un champ de retour
    Par petitcoucou31 dans le forum Bases de données
    Réponses: 3
    Dernier message: 21/11/2006, 11h41
  4. conditionnelle sur table access vide ou non
    Par SylvainJ dans le forum Access
    Réponses: 4
    Dernier message: 24/07/2006, 15h10
  5. Réponses: 4
    Dernier message: 15/11/2005, 18h53

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