MASSJIPE
XLDnaute Impliqué
Bonjour à tous
J'ai une erreur 9 à ligne
If CInt(sh.Cells(i, 24).Text) <= CInt(sh.Cells(i, 25).Text) Then ''''''Si le vieillissement est inférieur au délai de traitement initial
D'avance merci
J'ai une erreur 9 à ligne
If CInt(sh.Cells(i, 24).Text) <= CInt(sh.Cells(i, 25).Text) Then ''''''Si le vieillissement est inférieur au délai de traitement initial
D'avance merci
VB:
Option Explicit
Private Sub Workbook_Open()
Dim sh As Worksheet
Dim i As Long, DLign As Long
Dim ipn As String
''''''Initialisation du tableau des couleurs pour différencier les mois
tableau(0) = 0 ''''''Erreur dans la date
tableau(1) = 6 ''''''Couleur pour Janvier
tableau(2) = 8 ''''''Couleur pour Février
tableau(3) = 24 ''''''Couleur pour Mars
tableau(4) = 26 ''''''Couleur pour Avril
tableau(5) = 40 ''''''Couleur pour Mai
tableau(6) = 34 ''''''Couleur pour Juin
tableau(7) = 36 ''''''Couleur pour Juillet
tableau(8) = 39 ''''''Couleur pour Août
tableau(9) = 33 ''''''Couleur pour Septembre
tableau(10) = 44 ''''''Couleur pour Octobre
tableau(11) = 19 ''''''Couleur pour Novembre
tableau(12) = 41 ''''''Couleur pour Décembre
''''''
ipn = LCase(Environ("username"))
If ipn <> "a314350" And ipn <> "a309082" And ipn <> "a000678" And ipn <> "a312200" And ipn <> "a310197" And ipn <> "a308810" And ipn <> "317512" Then
If MsgBox("Vous n'êtes pas enregistré en tant que personne autorisée à accéder à ce document." & Chr(13) & _
"Tout accès à ce document est enregistré. Continuez tout de même?", vbYesNo + vbExclamation, _
"Authentification incorrecte") = vbNo Then
ThisWorkbook.Close False
Exit Sub
End If
End If
''''''Ajouter la personne à la feuille de suivi des accès
Set sh = ThisWorkbook.Sheets("Traces enregistrements")
DLign = sh.Cells(Rows.Count, 1).End(xlUp).Row + 1
With sh
.Unprotect "Protection"
.Cells(DLign, 1).Value = ipn
.Cells(DLign, 2).NumberFormat = "dd/mm/yyyy"
.Cells(DLign, 2).Value = Date
.Cells(DLign, 2).NumberFormat = "dd/mm/yyyy"
.Cells(DLign, 3).Value = ThisWorkbook.ActiveSheet.Name
If ipn <> "a314350" And ipn <> "a309082" And ipn <> "a312200" And ipn <> "a000678" And ipn <> "a310197" And ipn <> "a308810" And ipn <> "317512" Then
.Rows(DLign).Interior.Color = RGB(255, 0, 0)
Else
.Rows(DLign).Interior.Color = RGB(0, 255, 0)
End If
.Protect "Protection"
End With
''''''Mise à jour des informations à l'ouverture
For Each sh In ThisWorkbook.Worksheets ''''''Parcours des feuilles du classeur
sh.Calculate ''''''Effectuer les calculs (mises à jour des dates et délais principalement)
If InStr(sh.Name, "BDD") > 0 Then ''''''S'il s'agit d'une base de données
For i = 7 To sh.Cells(Rows.Count, 1).End(xlUp).Row ''''''Pour chaque ligne de la base de données
If Not IsNumeric(sh.Cells(i, 25).Text) Then ''''''Si le délai max de traitement initial est inconnu
sh.Cells(i, 24).Interior.ColorIndex = 0 ''''''Le vieillissement n'a pas de couleur de fond
Else
dont = True ''''''Empêcher les boucles infinies
[COLOR=rgb(184, 49, 47)] If CInt(sh.Cells(i, 24).Text) <= CInt(sh.Cells(i, 25).Text) Then ''''''Si le vieillissement est inférieur au délai de traitement initial[/COLOR]
sh.Cells(i, 24).Interior.Color = RGB(0, 255, 0) ''''''Passer le vieillissement en vert
Else ''''''Sinon (vieillissement > délai initial)
''''''si c'est un Audit
If sh.Cells(i, 3).Value = "Audit" Then
''''''Si vieillissement > délai initial alors passer le vieillissement en rouge
If CInt(sh.Cells(i, 24).Text) > CInt(sh.Cells(i, 25).Text) Then sh.Cells(i, 24).Interior.Color = RGB(255, 0, 0)
Else ''''''Sinon (il s'agit d'un blocage)
''''''Si on connait le délai de traitement révisé
If IsNumeric(sh.Cells(i, 26).Text) Then
''''''Si vieillissement > délai révisé
If CInt(sh.Cells(i, 24).Value) > CInt(sh.Cells(i, 26).Text) Then
sh.Cells(i, 24).Interior.Color = RGB(255, 0, 0) ''''''Passer le vieillissement en fond rouge
Else ''''''sinon (vieillissement <= délai révisé)
sh.Cells(i, 24).Interior.Color = RGB(255, 165, 0) ''''''Passer le vieillissement en fond orange
End If
Else ''''''Délai révisé inconnu
sh.Cells(i, 24).Interior.Color = RGB(255, 165, 0) ''''''Passer le vieillissement en fond orange
End If
End If
End If
dont = False
End If
Next i
End If
Next sh
mailing.dont = False
mailing.passMail = False
End Sub