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 :

Condition dans la condition


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 411
    Points : 117
    Points
    117
    Par défaut Condition dans la condition
    Bonjour, quelqu'un pourrait il me dire ou je me plante

    Ce que je cherche à faire

    feuil2
    en ligne 6 de mon tableau j'ai des lettres qui s'affichent dans les cellules

    feuil1
    en b47 j'ai une valeur qui ( ne restera pas fixe )

    jaimerai que lorsqu'il voit en ligne six la lettre "L" dans mon exemple en ligne 130 de la feuil2 il regarde le chiffre si celui ci est

    < a b47 de la feuil1 alors une couleur
    > a b47 de la feuil1 alors une autre couleur

    avec mon code il reconnait bien les "L" me colorie bien les cases de la ligne 130 de la colonne où il a trouvé le "L" mais, il ne sais pas interpréter si c'est supérieur ou inférieur ça reste toujours au rouge.

    voici 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
     
     
    Private Sub Worksheet_Change(ByVal Target As Range)
     
     
    For I = 1 To 31
        If Feuil2.Cells(6, 26 + I).Value = "L" Then
            If Feuil2.Cells(130, 26 + I).Value > Feuil1.Range("B47").Value Then          '------------bleu
                Feuil2.Cells(130, 26 + I).Interior.Color = RGB(0, 0, 255)
     
     
            ElseIf Feuil2.Cells(130, 26 + I).Value < Feuil1.Range("B47").Value Then      '------------rouge
                Feuil2.Cells(130, 26 + I).Interior.Color = RGB(255, 0, 0)
                End If
        End If
     
     
     
     
    Next I
    End Sub

  2. #2
    Membre éprouvé
    Avatar de eric4459
    Homme Profil pro
    Ingénieur Gestion de Projets
    Inscrit en
    Avril 2014
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Gestion de Projets
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 605
    Points : 1 124
    Points
    1 124
    Par défaut
    Bonsoir,
    Le code fonctionne chez moi, j'ai simplement changé le nom de la macro en enlevant
    ByVal Target As Range
    .
    Je ne sais pas pourquoi, on aura surement l'avis d'un spécialiste...
    Messieurs les experts du forum à vos explications...
    Merci
    Eric
    "Vous n’avez cessé d’essayer ? Vous n’avez cessé d’échouer ? Aucune importance !
    Réessayez, échouez encore, échouez mieux." Samuel Beckett
    Pensez aux balises et
    Visitez les FAQ Excel et allez faire un tour ici
    Tutoriels de SilkyRoad

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 411
    Points : 117
    Points
    117
    Par défaut
    Purée moi il ne veut pas que je le supprime cela met créé une erreur étrange non?

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Que veux-tu faire exactement ?

    Parce que là, ton affaire est patentée pour que ta macro s'exécute à chaque fois que tu cliques sur une cellule de ta feuille et cette feuille-là.

    Le target étant la cellule cliquée, même si c'est une cellule vide.

    Dans cette ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     If Feuil2.Cells(6, 26 + I).Value = "L" Then
    Quand i est égal à 1, tu réfères à la cellule AA6. Est-ce bien cela que tu veux ?


    Dans cette ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     If Feuil2.Cells(130, 26 + I).Value > Feuil1.Range("B47").Value Then
    Quand i est égal à 1, tu réfères à la cellule AA130. Est-ce bien cela que tu veux ?

    Et quand faut-il que tu exécutes ta macro ? Est-ce quand tu cliques sur n'importe quelle cellule, comme tu fais avec cela, ou c'est autre chose qu'il faut faire ?
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

Discussions similaires

  1. Condition dans la condition
    Par masseur dans le forum Langage
    Réponses: 12
    Dernier message: 04/04/2006, 16h50
  2. Introduire une condition dans une requete
    Par DeezerD dans le forum Langage SQL
    Réponses: 9
    Dernier message: 12/10/2004, 18h13
  3. Fonction MAX dans une condition WHERE
    Par borgfabr dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/10/2004, 16h06
  4. Condition dans une requête
    Par fdloisel dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/08/2004, 16h55
  5. Réponses: 2
    Dernier message: 24/06/2004, 09h13

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