VBA : instructions sur plusieurs feuilles

Résolu
Bonjour,

Ma requête est simple je voudrais en fonction de la valeur d'une cellule de LA feuille donnée collorier des cellules pour chacune des feuilles de mon classeur sauf une j'ai testé ca mais ca ne marche pas ca ne marche que pour une feuille :s

"For Each Ws In ThisWorkbook.Worksheets
If Ws.Name <> "Feuil2" Then

nbhtot = Ws.Range("A5").Value
nbltot = nbhtot * 12

Range(Cells(11, 7), Cells(11 + nbre_cel - 1, 7)).Interior.Color = RGB(255, 0, 0)
Range(Cells(11 + nbre_cel, 7), Cells(11 + nbre_cel - 1 + 12 * 7, 7)).Interior.Color = RGB(255, 255, 0)
Range(Cells(11 + nbre_cel + 12 * 7, 7), Cells(11 + nbre_cel - 1 + 24 * 7, 7)).Interior.Color = RGB(0, 0, 0)

End If
Next Ws
"

J'ai testé Ws.Range(Cells(11, 7), Cells(11 + nbre_cel - 1, 7)).Interior.Color = RGB(255, 0, 0) mais ca ne marche pas ...

Help pleaaase !!!

Merciii beaucoup !!

6 réponses

  1. Bonjour

    essaies ceci (rectifies les coordonnées des Cells)

    For Each ws In ThisWorkbook.Worksheets
      If ws.Name <> "Feuil2" Then
       nbhtot = ws.Range("A5").Value
       nbltot = nbhtot * 12
        With ws
          .Range(.Cells(11, 7), .Cells(11 + nbre_cel - 1, 7)).Interior.Color = RGB(255, 0, 0)
          .Range(.Cells(11 + nbre_cel, 7), .Cells(11 + nbre_cel + 2, 7)).Interior.Color = RGB(255, 255, 0)
          .Range(.Cells(11 + nbre_cel, 7), .Cells(11 + nbre_cel + 2, 7)).Interior.Color = RGB(0, 0, 0)
        End With
      End If
    Next ws

    bonne suite
    1
    1. C'est ça !!! Un grand grand merci !!! :)
      0
    2. Tant que j'y suis, (je t'avoue que là je n'ai pas cherché). J'ai des cellules qui indiquent des heures genres 31h30 32h etc et je souhaite récupérer la valeur des cellules mais de sortes que quand je les récupère pour 31h30 j'obtienne 31.5 ou pour 32h j'obtiens 32. tu aurais une idéee à ce sujet ?
      0
  2. Comme ceci?

    Dim hh 
    hh = Range("A2").Value 
    hh = hh * 24 
    MsgBox hh

    et si ce n'est pas en VBA c'est la même chose
    A3=A2*24 (A3 formatée en format nombre bien sûr)

    bonne suite
    0
    1. Hmm non pas tellement

      Admettons en A2 il y a d'inscrit "32h30"

      Dans mon code j'aimerai récupéré cette valeur mais de la forme "32.5" pour la manipuler par la suite. En fait, 32h30 c'est la forme visuelle pr faciliter la lecture à l'utilisateur mais moi dans mon programme il me faudrait 32.5 (h).
      Je ne sais pas si je suis claire...

      Merci pour tout, vraiment
      0
      1. Dim hh As Single, hhh As String
        hh = Range("A2").Value
        hh = hh * 24
        hhh = hh & "(h)"
        hhh = Replace(hhh, ",", ".")
        MsgBox hhh

        mais attention hhh est maintenant non numérique

        bon courage
        0
        1. Hmm ba nn, en fait je voudrais juste convertir ma valeur "1h30" en "1.5", "1h45" en "1.75"

          Si je sélectionne la cellule qui contient "1h30" je recherche si dans ce string du coup il y a l'expression régulière "h" et la en fonction des cas je le remplace par 0.5 ou 0.75 suivant la valeur après le h puis que je force tt ca en Integer ca m'archerait ?
          0
          1. C'est bon j'ai trouvé merci encore pour ton aide ccm81
            0