Rechercher dans une colonne

Résolu
jordan.MRC Messages postés 14 Statut Membre -  
jordan.MRC Messages postés 14 Statut Membre -
Bonjour,

J'ai une colonne de nombre.

Je voudrais savoir si on pouvait faire un code VBA pour faire apparaître un message et colorier la cellule à chaque fois qu'un nombre des différentes cellule dépasse un objectifs.

Exemple: L'objectif est de 100

A1 50
A2 60
A3 80
A4 100
A5 30
A6 20
A7 68
A8 110 (un message devrait s'afficher)
A9 34
A10 67

Merci d'avance pour votre aide.

2 réponses

  1. Arkana0 Messages postés 1980 Date d'inscription   Statut Modérateur Dernière intervention   183
     
    Bonjour,

    Pour la colorisation, plutôt que de faire du code, tu peux faire une mise en forme conditionnelle.

    Pour le message, si tu veux que ça indique le nombre de dépassements de l'objectif, tu peux très bien te faire un
    =NB.SI()


    Si tu tiens absolument à ton code : https://www.excel-pratique.com/fr/vba.php

    Intéresse-toi aux variables, aux boucles, aux boites de dialogues et aux propriétés et couleurs.
    1
    1. jordan.MRC Messages postés 14 Statut Membre 2
       
      Merci pour ces informations je vais plutôt prendre ta solution.
      0
      1. Arkana0 Messages postés 1980 Date d'inscription   Statut Modérateur Dernière intervention   183 > jordan.MRC Messages postés 14 Statut Membre
         
        Dans ce cas, je te conseille de noter ton objectif dans une cellule et de t'y référer pour la mise en forme conditionnelle et le NB.SI().

        Bonne continuation.
        0
  2. ThauTheme Messages postés 1564 Statut Membre 160
     
    Bonjour Jordan, bonjour le forum,

    Deux options, au choix :

    [Edition]
    Bonjour Arkana, nos posts se sont croisés...

    Sub Macro1()
    Dim OB As Variant 'déclare la variable OB (OBjectif)
    Dim O As Worksheet 'déclare la variable O (Onglet)
    Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
    
    deb: 'étiquette
    'définit la boite d'entée OB pour l'objectif
    OB = Application.InputBox("Quel est l'objectif ?", "OBJECTIF", Type:=1)
    If OB = False Then Exit Sub 'si bouton [Annuler], sort de la procédure
    Set O = Worksheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
    DL = O.Range("A" & Application.Rows.Count).End(xlUp).Row 'définit la dernière ligne éditée de la colonne A de l'onglet O
    For I = 1 To DL 'boucle sur toutes les lignes de 1 à DL
        If O.Cells(I, 1).Value > OB Then 'condition : si la valeur de la cellule ligne I, colonne 1 (=A) est supérieure à l'objectif
            O.Cells(I, 1).Interior.ColorIndex = 3 'colore la cellule de rouge
            MsgBox "Dépassement de l'objectif !" 'affiche un message
        End If 'fin de la condition
    Next I 'prochaine ligne de la boucle
    End Sub


    Sub Macro2()
    Dim OB As Variant 'déclare la variable OB (OBjectif)
    Dim O As Worksheet 'déclare la variable O (Onglet)
    Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
    Dim MSG As String 'déclare la varaible MSG (MeSsaGe)
    
    deb: 'étiquette
    'définit la boite d'entée OB pour l'objectif
    OB = Application.InputBox("Quel est l'objectif ?", "OBJECTIF", Type:=1)
    If OB = False Then Exit Sub 'si bouton [Annuler], sort de la procédure
    Set O = Worksheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
    DL = O.Range("A" & Application.Rows.Count).End(xlUp).Row 'définit la dernière ligne éditée de la colonne A de l'onglet O
    For I = 1 To DL 'boucle sur toutes les lignes de 1 à DL
    If O.Cells(I, 1).Value > OB Then
        If O.Cells(I, 1).Value > OB Then 'condition : si la valeur de la cellule ligne I, colonne 1 (=A) est supérieure à l'objectif
            O.Cells(I, 1).Interior.ColorIndex = 3 'colore la cellule de rouge
            'définit le message MSG
            MSG = IIf(MSG = "", O.Cells(I, 1).Address(0, 0), MSG & Chr(10) & O.Cells(I, 1).Address(0, 0))
    End If 'fin de la condition
    Next I 'prochaine ligne de la boucle
    MsgBox "Dépassement de l'objectif en :" & Chr(10) & MSG 'affiche le message global
    End Sub


    À plus,
    ThauTheme
    1
    1. jordan.MRC Messages postés 14 Statut Membre 2
       
      Merci de ta réponse
      0