Macro vba pour faire la somme des cds par dat
Fermé
saadiil1
Messages postés
27
Date d'inscription
jeudi 17 mars 2011
Statut
Membre
Dernière intervention
6 avril 2011
-
17 mars 2011 à 10:48
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 18 mars 2011 à 12:15
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 18 mars 2011 à 12:15
A voir également:
- Macro vba pour faire la somme des cds par dat
- Extension dat - Guide
- Winmail dat - Guide
- Somme si couleur - Guide
- Somme excel - Guide
- Macro word - Guide
9 réponses
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
17 mars 2011 à 11:47
17 mars 2011 à 11:47
Bonjour,
Un exemple de code, mais moi je trouve...
Mois May Jun Jul Aug
cdes 40 40 10 30
A coller dans un module général.
A+
Un exemple de code, mais moi je trouve...
Mois May Jun Jul Aug
cdes 40 40 10 30
Option Explicit Option Compare Text Sub H() Dim T, Lig As Long, Mois As Integer, TB(), Result(12) As Integer TB = Array(" ", "Jan", "Fév", "Mar", "Avr", "May", "jun", "jul", "aug", "sep", "oct", "nov", "déc") Sheets("Feuil1").Select For Lig = 1 To [L65536].End(xlUp).Row For Mois = 1 To 12 If Cells(Lig, "L") Like "*" & TB(Mois) & "*" Then Result(Mois) = Result(Mois) + Cells(Lig, "K") Exit For End If Next Mois Next Sheets("Feuil2").Activate For Mois = 1 To 12 Cells(2, Mois + 1) = TB(Mois) Cells(3, Mois + 1) = Result(Mois) Next End Sub
A coller dans un module général.
A+
saadiil1
Messages postés
27
Date d'inscription
jeudi 17 mars 2011
Statut
Membre
Dernière intervention
6 avril 2011
17 mars 2011 à 14:14
17 mars 2011 à 14:14
Merci bcp pour ta réponse.
En fait il accepte pas "Option Explicit" et "Option Compare Text" et lorsque je les enleve.il ne donne pas le bn résultat
voici ce que j'ai obtenu avec ton code (en enlevant "Option Explicit" et "Option Compare Text" bien sur ) : (40 pour May ) et 0 pour les autres mois :
Jan Feb Mar Apr May jun jul aug
0 0 0 0 40 0 0 0 .........
le problème c'est que dans ma colonne L , il ya les mois qui se repètent , car il ya les comandes de 2011 jusqu'à 2013 cad on peut trouver May2011 ,May2012,May2013 .donc j'aimerai bien que le code tient compte de l'année aussi et de l'aficher . voici les infos exact de ma colonnes L :
05May2011000001
13May2011000001
19May2011000001
25May2011000001
06Jun2011000001
15Jun2011000001
23Jun2011000001
30Jun2011000001
11Jul2011000001
09Aug2011000001
22Aug2011000001
26Aug2011000001
02Sep2011000001
12Sep2011000001
19Sep2011000001
26Sep2011000001
03Oct2011000001
07Oct2011000001
17Oct2011000001
24Oct2011000001
03Nov2011000001
10Nov2011000001
17Nov2011000001
24Nov2011000001
01Dec2011000001
07Dec2011000001
13Dec2011000001
20Dec2011000001
05Jan2012000001
12Jan2012000001
18Jan2012000001
26Jan2012000001
01Feb2012000001
07Feb2012000001
14Feb2012000001
21Feb2012000001
29Feb2012000001
06Mar2012000001
13Mar2012000001
20Mar2012000001
27Mar2012000001
30Mar2012000001
05Apr2012000001
16Apr2012000001
26Apr2012000001
30May2012000001
28Jun2012000001
17Jul2012000001
30Aug2012000001
18May2011000001
24May2011000001
31May2011000001
Merci bcp de ton aide
cordialement
En fait il accepte pas "Option Explicit" et "Option Compare Text" et lorsque je les enleve.il ne donne pas le bn résultat
voici ce que j'ai obtenu avec ton code (en enlevant "Option Explicit" et "Option Compare Text" bien sur ) : (40 pour May ) et 0 pour les autres mois :
Jan Feb Mar Apr May jun jul aug
0 0 0 0 40 0 0 0 .........
le problème c'est que dans ma colonne L , il ya les mois qui se repètent , car il ya les comandes de 2011 jusqu'à 2013 cad on peut trouver May2011 ,May2012,May2013 .donc j'aimerai bien que le code tient compte de l'année aussi et de l'aficher . voici les infos exact de ma colonnes L :
05May2011000001
13May2011000001
19May2011000001
25May2011000001
06Jun2011000001
15Jun2011000001
23Jun2011000001
30Jun2011000001
11Jul2011000001
09Aug2011000001
22Aug2011000001
26Aug2011000001
02Sep2011000001
12Sep2011000001
19Sep2011000001
26Sep2011000001
03Oct2011000001
07Oct2011000001
17Oct2011000001
24Oct2011000001
03Nov2011000001
10Nov2011000001
17Nov2011000001
24Nov2011000001
01Dec2011000001
07Dec2011000001
13Dec2011000001
20Dec2011000001
05Jan2012000001
12Jan2012000001
18Jan2012000001
26Jan2012000001
01Feb2012000001
07Feb2012000001
14Feb2012000001
21Feb2012000001
29Feb2012000001
06Mar2012000001
13Mar2012000001
20Mar2012000001
27Mar2012000001
30Mar2012000001
05Apr2012000001
16Apr2012000001
26Apr2012000001
30May2012000001
28Jun2012000001
17Jul2012000001
30Aug2012000001
18May2011000001
24May2011000001
31May2011000001
Merci bcp de ton aide
cordialement
saadiil1
Messages postés
27
Date d'inscription
jeudi 17 mars 2011
Statut
Membre
Dernière intervention
6 avril 2011
17 mars 2011 à 14:53
17 mars 2011 à 14:53
ah . excuse-moi j'été con.( il n'est ya pas de souci pour "Option Explicit" et "Option Compare Text")
la partie somme des cdes marche très bien . En faite , il faut juste rajouter l'année et d'associer la somme des cmd de la manière suivante:
Jan2011 Feb2011 Mar2011 Apr2011 May2011 ........Jan2012 Feb2012..... .
0 0 0 0 40 40 50 ......
bien cordialement
la partie somme des cdes marche très bien . En faite , il faut juste rajouter l'année et d'associer la somme des cmd de la manière suivante:
Jan2011 Feb2011 Mar2011 Apr2011 May2011 ........Jan2012 Feb2012..... .
0 0 0 0 40 40 50 ......
bien cordialement
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
17 mars 2011 à 14:54
17 mars 2011 à 14:54
Une chose à la fois...
En fait il accepte pas "Option Explicit" et "Option Compare Text" Ça c'est pas possible, où tu met le code ?
Et quel Appli ? Excel ?
En fait il accepte pas "Option Explicit" et "Option Compare Text" Ça c'est pas possible, où tu met le code ?
Et quel Appli ? Excel ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
saadiil1
Messages postés
27
Date d'inscription
jeudi 17 mars 2011
Statut
Membre
Dernière intervention
6 avril 2011
17 mars 2011 à 15:20
17 mars 2011 à 15:20
ah . excuse-moi j'été con.( il n'est ya pas de souci pour "Option Explicit" et "Option Compare Text")
la partie somme des cdes marche très bien . En faite , il faut juste rajouter l'année et d'associer la somme des cmd de la manière suivante:
Jan2011 Feb2011 Mar2011 Apr2011 May2011 ........Jan2012 Feb2012..... .
0 0 0 0 40 ......40 50 ......
bien cordialement
la partie somme des cdes marche très bien . En faite , il faut juste rajouter l'année et d'associer la somme des cmd de la manière suivante:
Jan2011 Feb2011 Mar2011 Apr2011 May2011 ........Jan2012 Feb2012..... .
0 0 0 0 40 ......40 50 ......
bien cordialement
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
17 mars 2011 à 15:32
17 mars 2011 à 15:32
En fonction du code que je t'ai mis plus haut, réfléchi et essaye d'extrapoler pour avoir plus de données.
Une piste.. Faut autant de résultat que d'années * 12
Faut tester année ET le mois
Montre le code que tu peu générer à partir de ces pistes.
Une piste.. Faut autant de résultat que d'années * 12
Faut tester année ET le mois
Montre le code que tu peu générer à partir de ces pistes.
saadiil1
Messages postés
27
Date d'inscription
jeudi 17 mars 2011
Statut
Membre
Dernière intervention
6 avril 2011
17 mars 2011 à 16:00
17 mars 2011 à 16:00
ok , merci bcp pour ton aide . je vais reflichir à ça et je te tiens au courant du résultat.
merci bcp une autre fois
merci bcp une autre fois
saadiil1
Messages postés
27
Date d'inscription
jeudi 17 mars 2011
Statut
Membre
Dernière intervention
6 avril 2011
18 mars 2011 à 10:39
18 mars 2011 à 10:39
Bonjour ;
je reviens vers vous ,
En fait j'ai modifié un peu tn code "lermite2222" en rajoutant un autre tableau pour l'année 2012 ( au moins ça va me résoudre le pb pour 2 ans )
voici les modif :
Option Explicit
Option Compare Text
Sub test()
Dim T, Lig As Long, Mois As Integer, TB(), TB1(), Result(12), Result1(12) As Integer
TB = Array(" ", "Jan2011", "Feb2011", "Mar2011", "Apr2011", "May2011", "jun2011", "jul2011", "aug2011", "sep2011", "oct2011", "nov2011", "dec2011")
TB1 = Array(" ", "Jan2012", "Feb2012", "Mar2012", "Apr2012", "May2012", "jun2012", "jul2012", "aug2012", "sep2012", "oct2012", "nov2012", "dec2012")
For Lig = 1 To [L65536].End(xlUp).Row
For Mois = 1 To 12
If Cells(Lig, "L") Like "*" & TB(Mois) & "*" Then
Result(Mois) = Result(Mois) + Cells(Lig, "K")
Else
If Cells(Lig, "L") Like "*" & TB1(Mois) & "*" Then
Result1(Mois) = Result1(Mois) + Cells(Lig, "K")
Exit For
End If
End If
Next Mois
Next
Sheets("Feuil2").Activate
For Mois = 1 To 12
Cells(2, Mois + 1) = TB(Mois)
Cells(3, Mois + 1) = Result(Mois)
Cells(5, Mois + 1) = TB1(Mois)
Cells(6, Mois + 1) = Result1(Mois)
Next
End Sub
-----------------------------------------------------------------------
là j'aimerai faire la somme pour chaque article (la colonne A de mon fichier contient la références des article) et de les afficher :
exemple de ce que je veux :
Feuil2 :
Articl1 janv-11 févr-11 mars-11 avr-11 mai-11 juin-11 .....
0 0 0 0 70 70
janv-12 févr-12 mars-12 avr-12 mai-12 juin-12 ....
90 90 100 128 82 34
Articl2 janv-11 févr-11 mars-11 avr-11 mai-11 juin-11 ....
10 20 15 10 0 0
janv-12 févr-12 mars-12 avr-12 mai-12 juin-12 ...
12 42 10 10 0 10 10
Merci d'avance
cordialement
je reviens vers vous ,
En fait j'ai modifié un peu tn code "lermite2222" en rajoutant un autre tableau pour l'année 2012 ( au moins ça va me résoudre le pb pour 2 ans )
voici les modif :
Option Explicit
Option Compare Text
Sub test()
Dim T, Lig As Long, Mois As Integer, TB(), TB1(), Result(12), Result1(12) As Integer
TB = Array(" ", "Jan2011", "Feb2011", "Mar2011", "Apr2011", "May2011", "jun2011", "jul2011", "aug2011", "sep2011", "oct2011", "nov2011", "dec2011")
TB1 = Array(" ", "Jan2012", "Feb2012", "Mar2012", "Apr2012", "May2012", "jun2012", "jul2012", "aug2012", "sep2012", "oct2012", "nov2012", "dec2012")
For Lig = 1 To [L65536].End(xlUp).Row
For Mois = 1 To 12
If Cells(Lig, "L") Like "*" & TB(Mois) & "*" Then
Result(Mois) = Result(Mois) + Cells(Lig, "K")
Else
If Cells(Lig, "L") Like "*" & TB1(Mois) & "*" Then
Result1(Mois) = Result1(Mois) + Cells(Lig, "K")
Exit For
End If
End If
Next Mois
Next
Sheets("Feuil2").Activate
For Mois = 1 To 12
Cells(2, Mois + 1) = TB(Mois)
Cells(3, Mois + 1) = Result(Mois)
Cells(5, Mois + 1) = TB1(Mois)
Cells(6, Mois + 1) = Result1(Mois)
Next
End Sub
-----------------------------------------------------------------------
là j'aimerai faire la somme pour chaque article (la colonne A de mon fichier contient la références des article) et de les afficher :
exemple de ce que je veux :
Feuil2 :
Articl1 janv-11 févr-11 mars-11 avr-11 mai-11 juin-11 .....
0 0 0 0 70 70
janv-12 févr-12 mars-12 avr-12 mai-12 juin-12 ....
90 90 100 128 82 34
Articl2 janv-11 févr-11 mars-11 avr-11 mai-11 juin-11 ....
10 20 15 10 0 0
janv-12 févr-12 mars-12 avr-12 mai-12 juin-12 ...
12 42 10 10 0 10 10
Merci d'avance
cordialement
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 18/03/2011 à 12:18
Modifié par lermite222 le 18/03/2011 à 12:18
Une chose à la fois...
La macro optimisée pour les années de 2008 à 2020.
A+
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
La macro optimisée pour les années de 2008 à 2020.
Option Compare Text Sub H() Dim Annee As Integer, Lig As Long, Mois As Integer, TB(), Result(2008 To 2020, 12) As Integer TB = Array(" ", "Jan", "Fév", "Mar", "Avr", "May", "jun", "jul", "aug", "sep", "oct", "nov", "déc") Sheets("Feuil1").Select For Lig = 1 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(2, Mois + 1) = TB(Mois) Next Mois For Annee = 2011 To 2012 'Adapter les années à afficher Cells(Annee - 2008, 1) = Annee For Mois = 1 To 12 Cells(Annee - 2008, Mois + 1) = Result(Annee, Mois) Next Mois Next Annee End SubEt je pense que ça répond aussi à ta 2ièm question.
A+
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.