Rapport de message :*
 

Re: ou est l'erreur dans le code vba

Titre du sujet : Re: ou est l'erreur dans le code vba
par JeanMarie le 04/02/2012 13:33:16

Bonjour Jad73, Didier, le forum

Essaye avec le code ci-dessous, des petites corrections dans ton code.
Sub essai()
Dim Cel As Range, x As Byte, y As Byte
Dim TbloU(1 To 9, 1 To 9)
Dim TbloD(10 To 19, 10 To 19)
Dim TbloE(20 To 29, 20 To 29)
Dim TbloF(30 To 39, 30 To 39)
Dim TbloG(40 To 49, 40 To 49)
Dim DerLig As Long, I As Long
Dim J As Byte
DerLig = Cells(Rows.Count, 2).End(xlUp).Row - 1
Range("O2:BK10").ClearContents
For I = 2 To DerLig
    For Each Cel In Cells(I, 2).Resize(1, 9)
        If Cel.Value <> "" Then
            For J = 2 To 10
                Select Case Cel.Value
                    Case Is < 10
                        If Cells(I + 1, J).Value < 10 Then
                            TbloU(Cel, Cells(I + 1, J).Value) = TbloU(Cel, Cells(I + 1, J).Value) + 1
                        End If
                    Case 10 To 19
                        If Cells(I + 1, J).Value >= 10 And Cells(I + 1, J).Value < 20 Then _
                            TbloD(Cel, Cells(I + 1, J).Value) = TbloD(Cel, Cells(I + 1, J).Value) + 1
                    Case 20 To 29
                        If Cells(I + 1, J).Value >= 20 And Cells(I + 1, J).Value < 30 Then _
                            TbloE(Cel, Cells(I + 1, J).Value) = TbloE(Cel, Cells(I + 1, J).Value) + 1
                    Case 30 To 39
                        If Cells(I + 1, J).Value >= 30 And Cells(I + 1, J).Value < 40 Then _
                            TbloF(Cel, Cells(I + 1, J).Value) = TbloF(Cel, Cells(I + 1, J).Value) + 1
                    Case Is < 50
                        If Cells(I + 1, J).Value >= 40 And Cells(I + 1, J).Value < 50 Then _
                            TbloG(Cel, Cells(I + 1, J).Value) = TbloG(Cel, Cells(I + 1, J).Value) + 1
                End Select
            Next J
        End If
    Next Cel
Next I
Range("O2").Resize(9, 9) = Application.Transpose(TbloU)
Range("O13").Resize(9, 9) = Application.Transpose(TbloD)
Range("O25").Resize(9, 9) = Application.Transpose(TbloE)
Range("O37").Resize(9, 9) = Application.Transpose(TbloF)
Range("O49").Resize(9, 9) = Application.Transpose(TbloG)
End Sub

bon courage, pour la suite

@+Jean-Marie