Boucle dans plusieurs onglets

Salut,

Quelqu'un peut m'aider à comprendre pourquoi ma boucle ne fonctionne pas dans les 6 onglets? Elle semble fonctionner seulement sur la feuille active..

Sub couleur_finale()

Dim vert&, rouge&, bleu&, bleu2&, blanc&, noir&, jaune&, ncouleur, txtCouleur, tcouleur

Dim ln&, k&, derln&

Dim Arr_Sheets(6) As String

Dim Ob_Sheet As Worksheet

vert = RGB(146, 208, 80)

rouge = RGB(128, 0, 0)

bleu = RGB(0, 51, 102)

bleu2 = RGB(51, 51, 255)

noir = RGB(0, 0, 0)

jaune = RGB(255, 255, 0)

blanc = RGB(255, 255, 255)

Arr_Sheets(0) = "PEM"

Arr_Sheets(1) = "SPOT"

Arr_Sheets(2) = "TIME SAVER"

Arr_Sheets(3) = "SOUDURE"

Arr_Sheets(4) = "FINITION"

Arr_Sheets(5) = "ASSEMBLAGE"

Arr_Sheets(6) = "PLIAGE"

For s = 0 To 6

Val_sh = Arr_Sheets(s)

Set Ob_Sheet = ThisWorkbook.Worksheets(Val_sh)

For ln = 2 To Ob_Sheet.Range("AP" & Rows.Count).End(xlUp).Row

If Range("AP" & ln) <> "" Then

For k = 1 To 2

ncouleur = Choose(k, vert, rouge, bleu, noir)

txtCouleur = Choose(k, "VERT", "ROUGE", "BLEU", "NOIR")

tcouleur = Choose(k, noir, noir, noir, noir)

If UCase(Ob_Sheet.Range("AP" & ln)) = txtCouleur Then

derln = Ob_Sheet.Range("D" & ln - 1).End(xlDown).Row

Ob_Sheet.Range("D" & ln & ":AA" & derln).Interior.Color = ncouleur

Ob_Sheet.Range("D" & ln & ":AA" & derln).Font.Color = tcouleur

End If

Next k

End If

Next ln

Next s

End Sub

je ne suis pas un pro en VBA, mais essaie ceci:

If Val_sh.Range("AP" & ln) <> "" Then
.
.
.

c'est courant en changeant de feuille qu'il faille déclarer le nom de la feuille.

il me semble que tu l'as fait correctement ailleurs

Yves

Rechercher des sujets similaires à "boucle onglets"