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
|