Boucles VBA

saadiil1 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   -  
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour tt le monde ;
je suis debutant en vba et j ai besoin de votre lumière .voici mon pb :*

la colone A de la Feuil1 de mon fichier excel contient les articles , la colonne k contient les commandes et la colonne L contient les dates ( dans un premier temps de 2011 jusqu'a 2013 sous cette forme "30Sep2011000001" ,"19Aug2011000001","17Jul2015000001"...ça c'est just un exemple...)

Exemple de ce que j'ai dans la Feuil1 de mon fichier :

colonne A colonne k colonne L
article1 10 26Feb2011000001
article1 10 30Mar2013000001
article1 15 28Jun2011000001
article2 15 30Aug2011000001
article2 25 28Feb2012000001
article3 30 07Feb2012000001
article3 10 05jan2012000001

. . .
. . .
. . .
Je veux faire la somme des commandes pour chaque article et pour chaque mois (les 12 mois de l'année) et chaque année (2011,2012,2013) de la manière suivante :

Feuil2 :
colonne A colonne B colonne C colonne D colonne E.............
(A1=Article1) (B1->vide) (c1->vide) (D1->vide) (E1->vide)..........
(A2->vide) (B2->vide) (c2=jan) (D2=Feb) (E2=Mar)..........
(A3->vide) (B3->2011) (c3=0) (D3=10) (E3=0)......
(A4->vide) (B4->2012) (C4 =0) (D4=0) (E4=0)......
(A5->vide) (B5->2013) (C5 =0) (D5=0) (E5=10)......

(A6=Article2) (B6->2011) (C6=0) (D6=0) (E6=0)......
(A7->vide) (B7->2012) (C7=0) (D7=10) (E7=0)......
(A8->vide) (B8->2013) (C8 =0) (D8=0) (E8=0)......


(A9=Article3) (B9->2011) (C9=0) (D9=0) (E9=0)......
(A10->vide) (B10->2012) (C10=10) (D10=10) (E10=0)......
(A11->vide) (B11->2013) (C11 =0) (D11=0) (E11=0)......

.
.
.
J'espère que j'ai bien expliqué le pb : voici ce que j'ai mets comme code :


Dim Annee As Integer, Lig As Long, Mois As Integer, TB(), Result(2008 To 2020, 12) As Integer
TB = Array(" ", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")

Dim limax1 As Long, li1 As Long, nbart1 As Long
Dim art1
count = 1
limax1 = Sheets(1).Range("A1").End(xlDown).Row
art1 = Sheets("Feuil1").Cells(1, 1).Value
nbart1 = 1
Sheets("Feuil2").Cells(2, 1).Value = art1
For i = 2 To limax1
If Sheets("Feuil1").Cells(i, 1).Value <> art1 Then
art1 = Sheets("Feuil1").Cells(i, 1).Value
count = i
nbart1 = nbart1 + 1
Sheets("Feuil2").Cells(8 * (nbart1 - 1), 1).Value = art1

End If
Next i

Sheets("Feuil1").Select
For Lig = count To [L65536].End(xlUp).Row
For Annee = 2008 To 2020
If Cells(Lig, "L") Like "*" & CStr(Annee) & "*" Then
For Mois = 1 To 12
If Cells(Lig, "L") Like "*" & TB(Mois) & "*" Then
Result(Annee, Mois) = Result(Annee, Mois) + Cells(Lig, "K")
Exit For
End If
Next Mois
Exit For
End If
Next Annee
Next Lig




Sheets("Feuil2").Activate
For Mois = 1 To 12
Cells(1, Mois + 2) = TB(Mois)
Next Mois
For Annee = 2011 To 2013 'Adapter les années à afficher
Cells(8 * (nbart1 - 1), 2) = Annee
For Mois = 1 To 12
Cells(8 * (nbart1 - 1), Mois + 2) = Result(Annee, Mois)
Next Mois
Next Annee

End Sub



--------------------------------------------------------------------------
ce code affiche juste les comande de 2013 !!!!!!!

merci de votre aide pour qu'il marche pour tt les ans

6 réponses

Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

Met un exemple de ton fichier sur http://cijoint.fr/
et poste le lien dans ton prochain message
0
saadiil1 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
Merci Patrice33740 pour ta réponse :
c'est bon je viens de déposer un fichier exemple dans le lien ci-dessus

Merci d'avance
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Tu dois nous donnons le lien obtenu pour que l'on accède à ton fichier
0
saadiil1 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
voici le lien :http://www.cijoint.fr/cjlink.php?file=cj201103/cijL3DRIhY.xlsx
Merci bcp de votre aide c'est urg
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

Regarde si ceci te convient :

http://www.cijoint.fr/cjlink.php?file=cj201103/cijaw57FOZ.xls
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
saadiil1 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
wééé c'est exactement ce que je veux , merci bcp tu m' a vraiment suver la vie

Cordialement
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
De rien, au plaisir de te relire sur le forum.

Passe ce poste en résolu.
0