Conditions en VBA

nat54

XLDnaute Barbatruc
Un autre souci..... :(

voilà la situation
j'ai un tableau avec des contrats
certains sont écris (la ligne entière) en bleu, c les contrats prévisionnels
certains sont en noir, ce sont les contrats actifs ou inactifs
--> actif quand date fin >= aujourd'hui
--> inactif = contrat fini

comment faire apparaitre en colonne BU la situation de chaque contrat ?

Code:
Sub SituationContrat()

'les cellules surveillées
For Each c In Range('a3:a300')
'condition fixée pour bleu = prévisionnel
If c.Interior.ColorIndex = 5 Then
Range('bu') = 'prévisionnel'
'condition fixée pour noir = actif ou inactif
If c.Interior.ColorIndex = 52 And if range('al')>=aujourdhui()Then
Range('bu') = 'actif'
Else
Range('bu') = 'inactif'
End If
End Sub


le AND IF, ca existe ou pas ???

Message édité par: nat54, à: 18/08/2005 13:49
 

CBernardT

XLDnaute Barbatruc
Bonjour Nat54 et le forum,

Si j'ai bien compris la question , la macro devient :

Sub SituationContrat()
Dim C As Range
'les cellules surveillées
For Each C In Range('A3:A300')
If C <> '' Then
'condition fixée pour bleu = prévisionnel
If C.Interior.ColorIndex = 5 Then
Range('BU' & C.Row) = 'prévisionnel'
'condition fixée pour noir = actif ou inactif
Else
If C.Interior.ColorIndex = 52 And Range('A' & C.Row) >= Date Then
Range('BU' & C.Row) = 'actif'
Else
Range('BU' & C.Row) = 'inactif'
End If
End If
End If
Next C
End Sub

Cordialement

Bernard
 

nat54

XLDnaute Barbatruc
merci bien ;)

sorry pour les erreurs je débute en VBA...

@ jmps : je débute, je débute....
qu'entends-tu par BU dans son assiette ??? :huh:

je vais tester mais le fichier est utilisé par une collègue donc je ne peux pas enregistrer...

Message édité par: nat54, à: 18/08/2005 14:15
 

nat54

XLDnaute Barbatruc
Code:
Sub SituationContrat()   
Dim C As Range   
'les cellules surveillées   
For Each C In Range('A3:A300')   
If C <> '' Then   
'condition fixée pour bleu = prévisionnel   
If C.Interior.ColorIndex = 5 Then   
Range('BU' & C.Row) = 'prévisionnel'  
End if 
End if 
End sub


je suis vraiment débutante alors j'ai essayé de décomposer mon pb

là normalement il devraimt m'afficher 'prévisionnel' où ma police est en bleu or ya rien ..

donc ya déjà une erruer là ,non ?

Message édité par: nat54, à: 19/08/2005 10:30
 

nat54

XLDnaute Barbatruc
une question date ca prend jour/moi/année ?

car dans mon tableau en fait il paarait une ligne 'actif' (contrat finissant en déc 2005 donc c bon il est actif)
mais pourquoi les autres ne fonctionnent pas ?
(la colonne a le même format date partout)
 

nat54

XLDnaute Barbatruc
merci pour ton aide ;)

Sub SituationContrat()
Dim C As Range
'les cellules surveillées
For Each C In Range('A3:A300')
If C <> '' Then
'condition fixée pour bleu = prévisionnel
If C.Font.ColorIndex = 5 Then
Range('BU' & C.Row) = 'prévisionnel'
'condition fixée pour noir = actif ou inactif
Else
If C.Font.ColorIndex = 1 And Range('AL' & C.Row) >= Date Then
Range('BU' & C.Row) = 'actif'
Else
Range('BU' & C.Row) = 'inactif'
End If
End If
End If
Next C
End Sub
 

Discussions similaires

Réponses
6
Affichages
1 K

Statistiques des forums

Discussions
312 320
Messages
2 087 220
Membres
103 497
dernier inscrit
JP9231