EXCEL: créer un bouton qui colore une cellule (macro)

onemouv Messages postés 7 Statut Membre -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,

J'ai besoin d'aide pour trouver un solution à mon problème sur excel....
Je suis débutant, et j'ai encore un problème.

Je vous donne un exemple de ce que j'aimerai réaliser:

EXEMPLE : En un clic sur un bouton et une valeur en C2 (un numéro de client C0252645) que j'aurai rentré,
je voudrais que ça trouve ce numéro de client dans la liste de mes clients qui seront juste en dessous, et colorie la cellule en question
( peu importe la couleur.. )

Je ne sais pas si c'est très clair, MERCI D'AVANCE si vous arrivez à me sauver

Bonne journée

3 réponses

  1. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour

    Pas besoin d'un bouton, le seul fait de changer la valeur en C2 peut faire colorer par mise en forme conditionnelle la bonne cellule :

    Selectionner la plage complète avec les n°S de clients
    Accueil - Mise en forme conditionnelle
    Nouvelle règle
    Appliquer une formule ...
    et comme formule entrer =$C$2 avant de choisir avec Format la couleur de remplissage

    Cdlmnt
    Via
    0
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour
    La liste de tes clients se trouvent en quelle colonne et à partir de quelle ligne?
    0
    1. onemouv Messages postés 7 Statut Membre
       
      Bonjour,

      La liste est dans la colonne A, de la ligne 33 à 95

      merci
      0
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Re,
    macro sans besoin de bouton: la cmacro se déclenche en valisdant C2
    à installer dans le module de la feuille concernée
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$C$2" Then
    Range("A33:A95").Interior.ColorIndex = -4142
    If Target <> "" Then
    On Error GoTo inconnu
    Cells(Columns("A").Find(Target, Range("A32")).Row, "A").Interior.ColorIndex = 6
    End If
    End If
    Exit Sub
    inconnu:
    MsgBox Target & " inconnu(e) dans la liste"
    End Sub

    0
    1. onemouv Messages postés 7 Statut Membre
       
      Merci, c'est tout à fait ça que je veux !! ah ah

      Mais j'aimerai que les cellules reste en couleur même si j'en rentre une autre, tu penses que c'est possible ?
      0
      1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320 > onemouv Messages postés 7 Statut Membre
         
        supprime cette ligne
        Range("A33:A95").Interior.ColorIndex = -4142
        0
    2. onemouv Messages postés 7 Statut Membre
       
      super merci beaucoup
      0
    3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Suite à ta demande en MP
      "mettre C2 à rian
      réponse sur le forum
      Private Sub Worksheet_Change(ByVal Target As Range)
      If Target.Address = "$C$2" Then
      Range("A33:A95").Interior.ColorIndex = -4142
      If Target <> "" Then
      On Error GoTo inconnu
      Cells(Columns("A").Find(Target, Range("A32")).Row, "A").Interior.ColorIndex = 6
      End If
      Application.EnableEvents = False
      Target = ""
      Application.EnableEvents = True
      End If
      Exit Sub
      inconnu:
      MsgBox Target & " inconnu(e) dans la liste"
      End Sub
      '--------------------------------------------
      Sub SOS_macros_désactivées()
      'très utile si on sort accidentellement de la macro _
      après Application.EnableEvents = False _
      et que les macros ne répondent plus
      Application.EnableEvents = True
      End Sub
      0