Afficher un message
Vieux 19/07/2004, 17h47   #9 (permalink)
@+Thierry
Guest
 
Messages: n/a
Par défaut Re: macro sur intervalle de date


Re Tracor, le Forum

Quand tu écris ceci :
If Tableau(i, 31) = "Adresse erronée" And Tableau(i, 31) = "Procédure livraison" Then

C'est très différent de ceci :
If Not Tableau(i, 2) = "Cloturé" And Not Tableau(i, 3) = "client absent" And Not Tableau(i, 3) = "Procédure" Then

Dans le second cas je suis en négation
SI l'item N'EGALE PAS "Cloturé"
ET si l'item N'EGALE PAS "client absent"
ET si l'item N'EGALE PAS "Procédure"
ALORS.... J'additionne les Items...

Dans le premier cas tu écris ceci :
SI l'item EGALE "Adresse erronée"
ET si l'item EGALE "Procédure livraison"
ALORS...

Je doute fort que le même item puisse avoir les DEUX valeurs...

Tu devrais essayer :
If Tableau(i, 31) = "Adresse erronée" Or Tableau(i, 31) = "Procédure livraison" Then
Et je pense que celà devrait rentrer dans l'ordre...

A Noter que si tu as beaucoup de Tests à comptabiliser on peut passer par un Select Case à l'intérieur de la Boucle :
For i = 1 To UBound(Tableau)
Select Case Tableau(i, 31)
Case "Adresse erronée"
Bad = Bad + 1
BadAddress = BadAdress + 1
Case "Procédure livraison"
Bad = Bad + 1
ProcLiv = ProcLiv + 1
Case "Client Absent"
Bad = Bad + 1
ClientAbsent = ClientAbsent + 1
Case "Mauvais Client"
Bad = Bad + 1
MauvaisClient = MauvaisClient + 1
Case Else
Good = Good + 1
End Select

With Sheets("Sheet1")
.Range("A1") = "Nombre Dossier Bloqués :"
.Range("B1") = Bad
.Range("A2") = "Nombre Adresse erronée :"
.Range("B2") = BadAddress
.Range("A3") = "Procédure livraison :"
.Range("B3") = ProcLiv
.Range("A4") = "Client Absent :"
.Range("B4") = ClientAbsent
.Range("A5") = "Mauvais Client :"
.Range("B5") = MauvaisClient
.Range("A6") = "Autres Cas les Bons !":"
.Range("B6") = Good
End With

On n'oublieara pas de déclarer les Variables Bad As Integer (Jusqu'à 32,767), et aussi BadAddress, ProcLiv, etc...

Bonne Fin de Journée
@+Thierry