programmer la periode d'analyse - VB/VBA/VBS - Programmation
Marsh Posté le 15-11-2005 à 10:20:22
j'étais peut etre pas claire.
mon tableau est le suivant
date défaut
24.10.05 fonctionnel
24.10.05 fonctionnel
24.10.05 fonctionnel
24.10.05 fonctionnel
24.10.05 assemblage
24.10.05 fonctionnel
24.10.05 fonctionnel
25.10.05 étanchéité
25.10.05 fonctionnel
25.10.05 fonctionnel
25.10.05 fonctionnel
25.10.05 fonctionnel
25.10.05 fonctionnel
26.10.05 fonctionnel
26.10.05 fonctionnel
26.10.05 fonctionnel
26.10.05 assemblage
26.10.05 fonctionnel
27.10.05 assemblage
sur un autre tableau je viens préciser la date de debut et la date de fin d'analyse.
date debut date fin défaut
24.10.05 26.10.05 assemblage 0
dimensionnel 0
esthétique 0
étanchéité 0
fonctionnel 0
le programme que j'ai mis est le suivant:
Do Until Sheets("Feuil1" ).Cells(i, 13).Date = Cells(3, 24).Date
'cells (i,13) correspond à la date sur mon 1 er tableau et la (3,24)celle de la fin d'analyse que je vais preciser ici..
Do While Cells(i, 13).Date = Cells(3, 23).Date
'la (3,24) correspont à la date de debut...
If Cells(i, 16).Text = "assemblage" Then
Cells(3, 26).Value = Cells(3, 26).Value + Cells(i, 14).Value
End If
If Cells(i, 16).Text = "dimentionnel" Then
Cells(4, 26).Value = Cells(4, 26).Value + Cells(i, 14).Value
End If
If Cells(i, 16).Text = "esthétique" Then
Cells(5, 26).Value = Cells(5, 26).Value + Cells(i, 14).Value
End If
If Cells(i, 16).Text = "étanchéité" Then
Cells(6, 26).Value = Cells(6, 26).Value + Cells(i, 14).Value
End If
If Cells(i, 16).Text = "fonctionnel" Then
Cells(7, 26).Value = Cells(7, 26).Value + Cells(i, 14).Value
End If
i = i + 1
Loop
i = i + 1
Loop
je pense que c'est mon ".date" qui marche pas je sais pas quoi mettre.
merci d'avance.
Marsh Posté le 15-11-2005 à 10:34:30
Au lieu de
Cells(i, 13).Date |
utiliser
Cells(i, 13) |
Le formatage ci-dessus permet d'ignorer les heures, minutes, et secondes, qui peuvent être gênantes dans les comparaisons.
Marsh Posté le 15-11-2005 à 11:12:12
merci
ça marche pas
y en a aucune qui marcheles 2 premiere j avais deja essayé mais la dernière il me dit erreur de syntaxe
Marsh Posté le 15-11-2005 à 12:13:57
Le formatage ne marche pas si le champ contenant la date n'est pas au format date, ce qui est peut-être le cas.
Un autre problème peut venir de la variable "i" qui ne serait pas initialisée.
Un autre problème peut être causé par l'emplacement des cellules qui se trouveraient sur des feuilles différentes. Dans ce cas, il faudrait peut-être la feuille concéernée non seulement pour i, 1", mais peut-être aussi pour 3,24.
Enfin, sur les lignes où il y a des comparaisons, il faut bien sûr changer les deux membres de la comparaison, et pas uniquement un seul.
Je pense que les lignes suivantes ne devraient pas donner d'erreur de syntaxe :
Code :
|
Et si les dates sont dans des champs dates, les lignes suivantes devraient aussi passer :
Code :
|
Le problème peut aussi venir de champs nuls. Il faut tester petit bout par petit avec des MsgBox(Cells(3, 24)), MsgBox(Sheets("Feuil1" ).Cells(i, 13)), etc.
Marsh Posté le 15-11-2005 à 14:06:39
si, la variable i est initialisée, et les dates sont des champs date aussi, et c'est sur la meme feuille mon programme marchait bien avant de rajouter la condition sur les dates!!!
Marsh Posté le 10-11-2005 à 11:19:13
Bonjour,
Je fais une analyse statistique, et pour pouvoir faire des reporting mensuel ou annuel jaimerais dire à mon programme de commencer cette analyse à une date que jaurais définie et de sarrêter à la date que je souhaite
Jai jamais utilisé le vb avant je galère un peu
merci