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

  • Votes
  • Date
  • Date décroissante
  1. Ah bah oui comme ca, c'est bon!! merki bcp et bien plus simple ^^

    Bonne soirée et merci à tous
    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
      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....
        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)
          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.
            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.