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 :

Rechercher et surligner des lignes


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Points : 16
    Points
    16
    Par défaut Rechercher et surligner des lignes
    Bonjour, J'ai un petit soucis :

    Je veux créer une macro qui permette de rechercher des chiffres et de surligner la ligne qui correspond à la recherche.

    J'ai comme 5 chiffres différents à rechercher dans une même colonne.
    Le problème, lorsque je lance ma requête, c'est que tous les éléments du tableau sont surlignés en bleus. Alors qu'il ne devrait y avoir que certaines lignes.

    Je pense que cela est du à la condition "or" car, lorsque je met un seul chiffre, cela marche.

    Quelqu'un pourrait-il m'aider s'il vous plait?

    Voici le code que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim i As Integer
    i = 0
        Do While (i < 900)
            i = i + 1
            If Range("D" & i).Value = 300 OR 304 OR 308 OR 310 OR 307 Then
               Range("D" & i).EntireRow.Font.Color = vbBlue
            End If
        Loop

  2. #2
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Janvier 2007
    Messages : 132
    Points : 160
    Points
    160
    Par défaut
    Bonsoir
    Il faut remettre la condition de base avant chaque nombre, càd:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Range("D" & i).Value = 300 OR Range("D" & i).Value = 304 OR Range("D" & i).Value = 308 OR Range("D" & i).Value = 310 OR Range("D" & i).Value = 307 Then
    Solution plus rapide:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Select case Range("D" & i).Value
        Case 300, 304, 308, 310, 307
              Range("D" & i).EntireRow.Font.Color = vbBlue
    End Select
    Slts
    PS: dites les Helpers, il y a pas une solution avec un truc du style IsNumber, je trouve pas

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    bonjour,
    je verrais plutôt comme cela

    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 Surligne()
    Dim cel As Range, a$
        Sheets("Feuil3").Select  ' pour être certain qu'ont traite la bonne feuille
         'Range("D1:D900").Select
        'ou, si le 900 change
        a$ = "D1:D" & Range("D65536").End(xlUp).Row
        Range(a$).Select
     
        For Each cel In Selection
            Select Case cel.Value
            Case  300, 304, 307, 310
               cel.EntireRow.Font.Color = vbBlue
               'et/ou pour surligné le fond des cellules
               cel.EntireRow.Interior.Color = vbRed
            End Select
        Next cel
    End Sub
    A+

  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    Merci beaucoup tout le monde, j'ai pu corriger mon erreur grâce à vous

    A bientôt

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

Discussions similaires

  1. Recherche Dataset qui permet de cacher des lignes
    Par Andry dans le forum Composants VCL
    Réponses: 10
    Dernier message: 28/10/2008, 10h02
  2. surligné des lignes
    Par pascalbout1 dans le forum Langage
    Réponses: 4
    Dernier message: 01/08/2007, 18h40
  3. Réponses: 3
    Dernier message: 25/05/2007, 11h10
  4. Recherche de composant pour tracer des lignes
    Par n1portki dans le forum Composants VCL
    Réponses: 5
    Dernier message: 21/09/2005, 02h44

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