Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
586 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Conditions avec VBA

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Conditions avec VBA

n°1178768
nat54
Posté le 18-08-2005 à 14:24:31  profilanswer
 

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 :
  1. Sub SituationContrat()
  2. Dim C As Range
  3. 'les cellules surveillées
  4. For Each C In Range("A3:A300" )
  5. If C <> "" Then
  6. 'condition fixée pour bleu = prévisionnel
  7. If C.Interior.ColorIndex = 5 Then
  8. Range("BU" & C.Row) = "prévisionnel"
  9. 'condition fixée pour noir = actif ou inactif
  10. Else
  11. If C.Interior.ColorIndex = 52 And Range("AL" & C.Row) >= Date Then
  12. Range("BU" & C.Row) = "actif"
  13. Else
  14. Range("BU" & C.Row) = "inactif"
  15. End If
  16. End If
  17. End If
  18. Next C
  19. End Sub


 
date ca existe bien ? (je suis sous excel)
 
comment être sûr du code couleur (car ya plusieurs noir et bleu ...)
 
merci d'avance

mood
Publicité
Posté le 18-08-2005 à 14:24:31  profilanswer
 

n°1178821
nat54
Posté le 18-08-2005 à 15:07:12  profilanswer
 

nobody ???? sniffffffffff

n°1178934
olivthill
Posté le 18-08-2005 à 17:06:51  profilanswer
 

Vous pouvez répéter la question ?
 
Il semble que vous ayez déjà trouvé toutes les solutions.
 
> comment faire apparaitre en colonne BU la situation de chaque contrat ?
 
C'est déjà ce que vous faites avec Range("BU" & C.Row) = "..."
 
> date ca existe bien ?
 
Oui.
 
> comment être sûr du code couleur (car ya plusieurs noir et bleu ...) ?
 
La doc (qui apparait quand le curseur est sur le mot "colorindex" et qu'on appuie sur F1) montre tous les codes possibles. Par exemple, pour le noir, je testerais pour le codes 1, 51, et 52; pour le bleu 5, 11, 25, 32, 41, 49, 55.

n°1179325
AlainTech
Pas trouvé? Cherche encore!
Posté le 19-08-2005 à 08:58:02  profilanswer
 

Il me paraît très aléatoire de laisser l'utilisateur choisir lui-même la couleur et encore plus de se baser sur la couleur pour faire un traitement.
 
Il vaut bien mieux avoir une colonne "Etat" où on peut mettre un nombre désignant l'état du contrat et mettre une mise en forme conditionnelle dépendant de cet état (ce nombre).
Pour le traitement, il suffit de se baser sur la valeur de l'état.


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
n°1179357
nat54
Posté le 19-08-2005 à 09:35:44  profilanswer
 

AlainTech a écrit :

Il me paraît très aléatoire de laisser l'utilisateur choisir lui-même la couleur et encore plus de se baser sur la couleur pour faire un traitement.
 
Il vaut bien mieux avoir une colonne "Etat" où on peut mettre un nombre désignant l'état du contrat et mettre une mise en forme conditionnelle dépendant de cet état (ce nombre).
Pour le traitement, il suffit de se baser sur la valeur de l'état.


 
le tableau excel est déjà conçu de cette manière avec les couleurs... et la personne qui s'en occupe ne souhaite pas changer ses "habitudes"
 
mais je comprends votre point de vue
 
me rester à tester les "code couleur" alors..


Message édité par nat54 le 19-08-2005 à 09:36:18
n°1179395
nat54
Posté le 19-08-2005 à 10:25:56  profilanswer
 

Code :
  1. Sub SituationContrat() 
  2. Dim C As Range 
  3. 'les cellules surveillées 
  4. For Each C In Range("A3:A300" ) 
  5. If C <> "" Then 
  6. 'condition fixée pour bleu = prévisionnel 
  7. If C.Interior.ColorIndex = 5 Then 
  8. Range("BU" & C.Row) = "prévisionnel"
  9. End if
  10. End if
  11. 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 ?

n°1179428
nat54
Posté le 19-08-2005 à 10:50:43  profilanswer
 

j'ai avancé un peu ... dur dur quand on débute
 
c'était pas interior mais font.color car c la couleur dela police
 
donc pour les prévisionnel (en bleu) ca marche
mais le reste j'ai que des inactifs
 
la fonction date fonctionne -t-elle bien comme je l'ai utilisée ?

n°1179460
nat54
Posté le 19-08-2005 à 11:30:57  profilanswer
 

PB RESOLU
 
c'était pour la couleur noire que ca buggait c'était pas noir mais couleur automaitque
 

Code :
  1. Sub SituationContrat()
  2. Dim C As Range
  3. 'les cellules surveillées
  4. For Each C In Range("A3:A300" )
  5. If C <> "" Then
  6. 'condition fixée pour bleu = prévisionnel
  7. If C.Font.ColorIndex = 5 Then
  8. Range("BR" & C.Row) = "prévisionnel"
  9. 'condition fixée pour noir = actif ou inactif
  10. Else
  11. If C.Font.ColorIndex = xlAutomatic And Range("AL" & C.Row) >= Date Then
  12. Range("BR" & C.Row) = "actif"
  13. Else
  14. Range("BR" & C.Row) = "inactif"
  15. End If
  16. End If
  17. End If
  18. Next C
  19. End Sub


Message édité par nat54 le 19-08-2005 à 16:29:37
n°1179682
guendalf
Posté le 19-08-2005 à 15:38:16  profilanswer
 

Juste pour qu'on puisse lire plus facilement..
nat54> Pourrais-tu metter ton code entre les balises "code" et indenter ton code. Car on s'y perd rapidement avec les conditions imbriques si le code n'est pas indente.
 
Merci.
 
P.S: Qui a dit: mais quel relou celui-la ?!


---------------
Guendalf
n°1179724
nat54
Posté le 19-08-2005 à 16:29:18  profilanswer
 

ok


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Conditions avec VBA

 

Sujets relatifs
Protection projet VBA[VBA - Word]: Lancer une macro en mode console
[VBA Excel - resolu] ajout d'une feuilleEn quoi consiste la compilation sur VBA (Excel)
Différence entre VBA et Visual BasicVBA excel pb pour récupérer le chemin d'enregistrement et le réinject
accélération d'un code VBA[VBA][EXC] Fonction de recalcul d'une feuille Excel sous VBA ?
VBA Excel: problème de compatibilité excel 2000 - excel 2003 
Plus de sujets relatifs à : Conditions avec VBA


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR