Bonsoir,
Le problème, c'est que votre tableau de valeurs comporte des colonnes qui ne doivent pas être prises en compte(Colonnes P, Z, AA, AC, AE) alors que vos numéros de textboxes suivent une numérotation continue augmentée de la valeur 7 , et évidemment, arrivée à la colonne 10 colonne qui dans le tableau devrait être la "Q", il y a un décalage qui se produit et se répercutera pour les autres colonnes, il vous faut revoir le système d'attribution des textboxes par rapport aux numéros de colonnes.
Cdlt
Edit:
J'ai renommé les textboxes et le code. Voici le résultat après modifications.
le code modifié:
Private Sub CbnDateSum_Click()
On Error Resume Next
If DateValue(Me.Date_str.Value) > DateValue(Me.Date_End.Value) Then
MsgBox "ÊÇÑíÎ ÇáÈÏÇíÉ ÇßÈÑ ãä ÇáäåÇíÉ", vbExclamation, "ÎØÇÁ ÅÏÎÇá ÇáÊÇÑíÎ"
Me.Date_str.SetFocus
Me.Date_str = Empty
Exit Sub
Else
Sheet2.Activate
Dim FirstDate As Date, StartDate As Date, LastDate As Date
Dim FirstRow As Long, LastRow As Long, lRow As Long
Dim i As Long, NbCol As Long
Dim tot As Single
With ActiveSheet
FirstDate = .Range("b2") '
StartDate = CDate(Me.Date_str): LastDate = CDate(Me.Date_End)
Dim DateStart As String
Dim DateEnd As String
FirstRow = 1 + StartDate - FirstDate + 1
LastRow = 1 + LastDate - FirstDate + 1
' Pour chaque colonne
For i = 7 To 32
If i <> 16 And i <> 26 And i <> 27 And i <> 29 And i <> 31 Then
' Pour chaque ligne
For lRow = FirstRow To LastRow
Application.StatusBar = "Calcul en cours pour : L" & lRow & "/C" & i
tot = tot + .Cells(lRow, i)
Next lRow
Me.Controls("TextBox" & 100 + i).Value = Format(tot, "#,##")
tot = 0 ' Réinitialize
End If
Next i
End With
End If
End Sub
le fichier
Cdlt