Formule excel, macro

Résolu
Bonjour,
J'ai un problème, je suis fénéant ^^

Nan, j'ai effectué une petite macro sur mon fichier, elle fonctionne très bien, seulement, il me faudrait l'appliquer des lignes 3 à 178, et la c'est mon problème car je n'ai pas envie de recopier 175 fois ^^

Voici ma macro:

Private Sub CommandButton1_Click()

If Feuil1.Range("g3") = 1 Then
Range("a3:h3").Interior.ColorIndex = 27
ElseIf Feuil1.Range("g2") <> 1 Then
Range("a3:h3").Interior.ColorIndex = 2
End If

End Sub

D'avance merci de votre aide...

6 réponses

  1. Ah bah oui comme ca, c'est bon!! merki bcp et bien plus simple ^^

    Bonne soirée et merci à tous
    0
    1. Contributeur
      tu sélectionnes A3:H3 sur XL2003 ou A3:H158 sur Xl2007

      dans Mise en forme conditionnelle - la formule est
      =($G3=1) et tu demandes du jaune

      comme 2<===> blanc: pas besoin de traiter à moins que les cellules soient coloriées au départ (rien dans les cellules)

      sur XL2003
      et tu sélectionnes ta plage tu fait copier -collage spécial-format
      0
      1. Merci KantinT, mais ca ne marche pas, il doit y avoir une erreur ^^

        Sinon michel je suis ok avec toi seul la mise en forme conditionnel fonctionne pour une cellule hors j'ai 6 cellules à mettre en forme pour une condition....
        0
        1. Contributeur
          bonjour

          conseil d'un fainéant aguerri:

          une macro est ici + fatigante à faire qu'une mise en forme conditionnelle surtout que tu aurais pu faire une macro plus simple
          tu vois, tu as beaucoup à faire pour rentrer dans l'ordre très convoité "des frères paresseux"
          :o)
          0
          1. Clique en bas a droite de la première cellule puis par la suite, maintient le clique pour glisser la formule pour l'insérer dans les autres cellules.
            0
            1. Salut.
              Je suis pas un expert mais il me semble que tu peu faire:

              Private Sub CommandButton1_Click()

              For i=3 To 178
              If Feuil1.Range("gi") = 1 Then
              Range("ai:hi").Interior.ColorIndex = 27
              ElseIf Feuil1.Range("gi") <> 1 Then
              Range("ai:hi").Interior.ColorIndex = 2
              End If

              End Sub

              Mais je suis pas sur et notament de la syntaxe
              J'espère pas avoir raconté n'importe quoi.

              Bonne continuation.
              0