giorgioo
8Messages postés
22 août 2008Date d'inscription
27 septembre 2011Dernière intervention
17 sept. 2008 à 20:33
Slt les amis
J'ai du m'absenter et laisser mon boulot quelques temps a cause des compos.
Je me suis inspirer de la première solution de LatelyGeek (8) et j ai crée une macro qui a partir du journal trie les comptes puis les recopie vers un espace dédié dans mon grand livre.En gros on a pour les comptes 101000; 103000 et 106000:
sachant que:
-A1:H20000 représente tout mon journal dont les entêtes des différentes colonnes sont: Date;Compte;Libelles;Débit/Date;Compte;Libelles;Crédit
-jl_debit et jl_credit les parties de mon journal rassemblant respectivement les operations du debit et du credit
-d_cplso la zone du grand livre ou je veux rassembler les operations du debit du compte '101000
-c_cplso la zone du grand livre ou je veux rassembler les operations du credit du compte '101000
ainsi de suite
sub classe1()
Sheets("Journal").Select
Range("A1:H20000").Select
Selection.AutoFilter
'101000 cplso
Selection.AutoFilter Field:=2, Criteria1:="101000"
Application.Goto reference:="jl_debit"
Selection.Copy
Sheets("Gd livre").Select
Application.Goto reference:="d_cplso"
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=True, Transpose:=False
Sheets("mod JL").Select
Selection.AutoFilter Field:=2
Selection.AutoFilter Field:=6, Criteria1:="101000"
Application.Goto reference:="jl_credit"
Selection.Copy
Sheets("Gd liv").Select
Application.Goto reference:="c_cplso"
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=True, Transpose:=False
Sheets("mod JL").Select
Selection.AutoFilter Field:=6
'103000 cplpers
Selection.AutoFilter Field:=2, Criteria1:="103000"
Application.Goto reference:="jl_debit"
Selection.Copy
Sheets("Gd liv").Select
Application.Goto reference:="d_cplpers"
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=True, Transpose:=False
Sheets("mod JL").Select
Selection.AutoFilter Field:=2
Selection.AutoFilter Field:=6, Criteria1:="103000"
Application.Goto reference:="jl_credit"
Selection.Copy
Sheets("Gd liv").Select
Application.Goto reference:="c_cplpers"
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=True, Transpose:=False
Sheets("mod JL").Select
Selection.AutoFilter Field:=6
'106000 ecreev
Selection.AutoFilter Field:=2, Criteria1:="106000"
Application.Goto reference:="jl_debit"
Selection.Copy
Sheets("Gd liv").Select
Application.Goto reference:="d_ecreev"
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=True, Transpose:=False
Sheets("mod JL").Select
Selection.AutoFilter Field:=2
Selection.AutoFilter Field:=6, Criteria1:="106000"
Application.Goto reference:="jl_credit"
Selection.Copy
Sheets("Gd liv").Select
Application.Goto reference:="c_ecreev"
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=True, Transpose:=False
Sheets("mod JL").Select
Selection.AutoFilter Field:=6
end sub
La ou sa cloche c'est que:
1- je voudrai ordonner a excel de ne pas copier au cas ou il ne trouve pas un critere
2- il arrive parfois que excel dans l'execution de la macro recopie plusieurs fois la meme entrée dans une zone je ne sais pas a quoi c'est dû!
j espere que vous comprendrai et essayerai de m'aider.merci d'avance!
Oui yakov c'est effectivement la gestion de donnée qui m intéresse avec EXCEL. C'est vrai que c'est pas très pratique a première vu mais c'est possible et bien configuré pour une petite structure c'est vraiment efficace.
J'ai déjà essayer avec le tableau croiser dynamique dans la mesure ou je dois créer le grand livre comptable il faudra manuellement extraire les opérations de chaque compte et sa c'est du boulot car le Syscohada utilise au moins 60 comptes différents d'où mon objectif d'automatiser cela!