Bonjour tout le monde !! ( suis nouveau)
J'ai quelques notions de logique qui datent de quelques années mais j'ai décidé de me remettre à vba ... pourriez vous m aider svp sur ce fichier qui me pose problème ?
But : j'ai un tableau de données, et dans une colonne le nom des contrats ( un emme contrat peut etre sur plusieurs lignes) et le chiffres d affaires générés dans une autre colonne.
Private Sub ClassContrats()
Dim som As Integer
Dim i As Integer
Dim j As Integer
Dim n As Integer
Dim m As Integer
som = 0 *va me permettre de comparer la valeur du contrats étudier à celle deja mises dans le tableau*
i = 20
For i = 20 To 463 *correspond à mon tableau*
m = 0
som = Feuil2.Cells(i, 6) *je prends la première ligne*
n = 1
Do While Feuil2.Cells(i, 4) = Feuil2.Cells(i + n, 4) *je somme pour voir si le contrat est sur plusieurs lignes*
som = som + Feuil2.Cells(i + n, 6)
n = n + 1
Loop
Do While (som > Feuil2.Cells(12 - m, 6)) & (m < 10) * je compare à la valeur la plus petite de mon tableau et remonte jusqu à l éventuel contrat le plus gros*
m = m + 1
Loop
If (som > Feuil2.Cells(12, 6)) Then Feuil2.Cells(12 - m, 6) = som*je copie juste la somme, cela me permet de ne pas mettre tout un tas de données*
For j = 2 To 4 *j'ajoute le nom et deux trois trucs sur la drotie*
Feuil2.Cells(12 - m, j + 5) = Feuil2.Cells(i, j)
Next j
i = i + n
Next i
End Sub
Voila ! et la j ai essayé plusieurs choses mais je ne sais pas sur quelle(s) valeur(s) je devrai changer de type.
Merci d'avance
J'ai quelques notions de logique qui datent de quelques années mais j'ai décidé de me remettre à vba ... pourriez vous m aider svp sur ce fichier qui me pose problème ?
But : j'ai un tableau de données, et dans une colonne le nom des contrats ( un emme contrat peut etre sur plusieurs lignes) et le chiffres d affaires générés dans une autre colonne.
Private Sub ClassContrats()
Dim som As Integer
Dim i As Integer
Dim j As Integer
Dim n As Integer
Dim m As Integer
som = 0 *va me permettre de comparer la valeur du contrats étudier à celle deja mises dans le tableau*
i = 20
For i = 20 To 463 *correspond à mon tableau*
m = 0
som = Feuil2.Cells(i, 6) *je prends la première ligne*
n = 1
Do While Feuil2.Cells(i, 4) = Feuil2.Cells(i + n, 4) *je somme pour voir si le contrat est sur plusieurs lignes*
som = som + Feuil2.Cells(i + n, 6)
n = n + 1
Loop
Do While (som > Feuil2.Cells(12 - m, 6)) & (m < 10) * je compare à la valeur la plus petite de mon tableau et remonte jusqu à l éventuel contrat le plus gros*
m = m + 1
Loop
If (som > Feuil2.Cells(12, 6)) Then Feuil2.Cells(12 - m, 6) = som*je copie juste la somme, cela me permet de ne pas mettre tout un tas de données*
For j = 2 To 4 *j'ajoute le nom et deux trois trucs sur la drotie*
Feuil2.Cells(12 - m, j + 5) = Feuil2.Cells(i, j)
Next j
i = i + n
Next i
End Sub
Voila ! et la j ai essayé plusieurs choses mais je ne sais pas sur quelle(s) valeur(s) je devrai changer de type.
Merci d'avance
Pièces jointes
Dernière édition: