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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 412
    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 émérite
    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
    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 éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 412
    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 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Canada

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    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 ?

Discussions similaires

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

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