VBA : instructions sur plusieurs feuilles

Résolu/Fermé
Marie155 Messages postés 10 Date d'inscription lundi 25 mars 2013 Statut Membre Dernière intervention 9 avril 2013 - 8 avril 2013 à 13:15
Marie155 Messages postés 10 Date d'inscription lundi 25 mars 2013 Statut Membre Dernière intervention 9 avril 2013 - 9 avril 2013 à 14:23
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

ccm81 Messages postés 10863 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 12 juin 2024 2 410
8 avril 2013 à 14:21
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
Marie155 Messages postés 10 Date d'inscription lundi 25 mars 2013 Statut Membre Dernière intervention 9 avril 2013
8 avril 2013 à 14:36
C'est ça !!! Un grand grand merci !!! :)
0
Marie155 Messages postés 10 Date d'inscription lundi 25 mars 2013 Statut Membre Dernière intervention 9 avril 2013
8 avril 2013 à 14:46
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
ccm81 Messages postés 10863 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 12 juin 2024 2 410
Modifié par ccm81 le 8/04/2013 à 15:58
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
Marie155 Messages postés 10 Date d'inscription lundi 25 mars 2013 Statut Membre Dernière intervention 9 avril 2013
8 avril 2013 à 16:06
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
ccm81 Messages postés 10863 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 12 juin 2024 2 410
8 avril 2013 à 16:11
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Marie155 Messages postés 10 Date d'inscription lundi 25 mars 2013 Statut Membre Dernière intervention 9 avril 2013
9 avril 2013 à 11:57
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
Marie155 Messages postés 10 Date d'inscription lundi 25 mars 2013 Statut Membre Dernière intervention 9 avril 2013
9 avril 2013 à 14:23
C'est bon j'ai trouvé merci encore pour ton aide ccm81
0