Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
interior.colorindex, c bien pour la couleur de la police et non un fond ??

euh c où la fenetre execution ?

quand je dis que je débute, je ne mens pas.... hmy:

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

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
 

nat54

XLDnaute Barbatruc
jmps écrit:
Pour la fenêtre exécution c'est CTRL+G dans l'éditeur VBA. Ou bien menu Affichage/Fenêtre exécution.

tu vas me prendre vraiment pour une nulle

bon j'ai fait ctrl G
j'ai copié ton code en modifiant justement la cellule car en a1 ya rien

mais après je fais quoi ???
pour avoir la couleur
 

Discussions similaires

Réponses
6
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…