Programme vba

Signaler
Messages postés
5
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
25 mars 2009
-
Messages postés
272
Date d'inscription
lundi 12 janvier 2009
Statut
Membre
Dernière intervention
30 décembre 2015
-
Bonjour,

Voilà mon problème,
Je travaille dans la comptabilité, et je souhaiterai créer un programme vba mais je suis débutant et je ne suis pas très à l'aise mais je ne demande qu'a apprendre

Je vous explique mon projet,

J'ai une feuille excel avec un balance comptable,
j'ai une deuxième feuille excel avec des fourchettes de comptes,

j'aimerai pouvoir créer un programme qui me regroupe les comptes de la balance par rapport aux fourchettes de comptes,

Merci d'avance pour votre aide

8 réponses

Messages postés
272
Date d'inscription
lundi 12 janvier 2009
Statut
Membre
Dernière intervention
30 décembre 2015
1
a  tu le shema de tes tableau?
Messages postés
5
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
25 mars 2009

Alors en fait le premier tableau se présente comme suit :


Colonne A : N° compte


Colonne B : Libellé
Colonne C: Débit
Colonne D : Crédit

Le deuxième tableau se présente comme suit :
Colonne A : Rubrique
Colonne B : Libellé
Colonne C : compte de début
Colonne D : compte de fin
Colonne E : sens du compte

Un exemple concret
dans le premier tableau j'ai : 
   le compte n° 2814000 Amortissement des constructions pour un crédit de 100 euros 
   et le compte n° 2815000 Amortissement des outils industriels pour un crédit de 200 euros

dans le deuxième quand je regarde la fourchette de compte je vois que ces 2 comptes vont allez dans la même rubrique 2810 qui a pour fourchette de 281 à 2818

Le but étant d'avoir au final une seule ligne qui me dit telle rubrique pour tel montant

Merci
Messages postés
272
Date d'inscription
lundi 12 janvier 2009
Statut
Membre
Dernière intervention
30 décembre 2015
1
for o = 1 to nb de ligne dans tableau 1
for p =1 to nb de ligne dans tableau 2
intermin = worksheets(2).cells(p,3).value
intermax = worksheets(2).cells(p,4).value
worksheets(3).cells(1,p).value = "Entre " & inetermin ":" & intermax

if  worksheets(1).cells(o,1).value> intermin and worksheets(1).cells(o,1).value"" then
worksheets(3).cells(m,p).value = worksheets(1).cells(o,1).value
goto sortfor
end if
next
sortfor:
end if

next
next

Je suis pas trop sur de mon code g fait sa vitte fait comme sa je te conseil de faire un backup avant de lancer sa
Messages postés
5
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
25 mars 2009

Ok je vais tester ça,


je te tiens au courant,


 


Merci pour la rapidité de réponse c'est sympa
Messages postés
5
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
25 mars 2009

Re Genildf,

J'ai tester et ca coince au nivo de la ligne :
worksheets(3).cells(1,p).value = "Entre " & inetermin ":" & intermax
 
il n'apprecie pas trop le ":" il ecrit erreur de compilation erreur de syntaxe ou fin d'instruction attendue

A tu une idée?

Merci
Messages postés
272
Date d'inscription
lundi 12 janvier 2009
Statut
Membre
Dernière intervention
30 décembre 2015
1
il manque un & entre inetermin et ":"

par contre jespere que sur ta feuille 3 tu n'a rien
Messages postés
5
Date d'inscription
mardi 24 mars 2009
Statut
Membre
Dernière intervention
25 mars 2009

sur la feuille 3 il n'y a rien ,

Mais maintenant il me dit "erreur d'execution 1004 erreur definie par l'application ou par l'objet",
Messages postés
272
Date d'inscription
lundi 12 janvier 2009
Statut
Membre
Dernière intervention
30 décembre 2015
1
For o = 1 To 65000
For p = 1 To 30
intermin = Worksheets(2).Cells(p, 3).Value
intermax = Worksheets(2).Cells(p, 4).Value
If Worksheets(1).Cells(o, 1).Value > intermin And Worksheets(1).Cells(o, 1).Value < intermax Then
Worksheets(3).Cells(1, p).Value = "Entre " & intermin & ":" & intermax
For m = 2 To 65000
If Worksheets(3).Cells(m, p).Value = "" Then
Worksheets(3).Cells(m, p).Value = Worksheets(1).Cells(o, 1).Value
GoTo sortfor
End If
Next
Worksheets(3).Cells(1, p).Value = "Entre " & inetermin & ":" & intermax
sortfor:
End If

Next
Next

Voila et la sa marche
Par contre jou un peut avec les inferieure ou egale sinon tu va perdre des choses