VBA "if"

Résolu
Glady994 Messages postés 447 Date d'inscription   Statut Membre Dernière intervention   -  
Glady994 Messages postés 447 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous!
Dans le cadre d'un travail je dois créer un code vba. Celui ci devra mettre l'intitulé "fort" dans une colonne("typedetaux") si le chiffre dans une autre colonne (montant) est inférieure à 4000... Quelqu'un pourrait m'aider svp?? c'est urgent pour demain et les gens de mon groupe ont décidé de me laisser dans la m***.
Normalement ce code doit faire une quinzaine de ligne mais je me disais qu'une fois débloqué je pourrai l'augmenter avec d'autre montant et des "elseif" ?

Merci d'avance !!

Voilà un screen pour rendre ça plus visible.
http://hpics.li/42b2c0e



8 réponses

Stringman621 Messages postés 1308 Date d'inscription   Statut Membre Dernière intervention   340
 
Bonjour,

En mettant une formule dans la case du type :
=SI(D2<4000;"fort","")
=SI(D3<4000;"fort","")

Et en copiant la formule pour chaque ligne du tableau ca devrait fonctionner ...

@+
0
Glady994 Messages postés 447 Date d'inscription   Statut Membre Dernière intervention   145
 
Je voudrai ne pas avoir à programmer chaque ligne car ce ne serait pas bon... Il faut que ça devienne automatique chaque fois qu'on rajoute une ligne j'avais pensé à un truc du genre "if montant <4000 then typedetaux = fort"
0
Glady994 Messages postés 447 Date d'inscription   Statut Membre Dernière intervention   145
 
d'ailleurs quand j'exécute cette commande, j'ai oublié de préciser qu'il n'y avais pas d'erreur mais que rien ne se passait... perduu :'(( !
0
Stringman621 Messages postés 1308 Date d'inscription   Statut Membre Dernière intervention   340
 
Ceci devrait t'aller alors :
    If Target.Column = 4 And Target.Value <> "" Then 'correspondant à la colonne montant
    
        If Target.Value < 4000 Then
            Cells(Target.Row, 10) = "fort"
        Else
            Cells(Target.Row, 10) = "fort"
        
        End If
    End If
0
Stringman621 Messages postés 1308 Date d'inscription   Statut Membre Dernière intervention   340
 
bien sur dans le second if : l'un doit prendre la valeur "fort" et l'autre.... J'ai laisser "fort" uniquement pour l'exemple ;)
0
Glady994 Messages postés 447 Date d'inscription   Statut Membre Dernière intervention   145
 
Oui j'ai remarqué, merci ! :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Glady994 Messages postés 447 Date d'inscription   Statut Membre Dernière intervention   145
 
Merci beaucoup!

, je l'ai mise dans une variable, ai-je fais une erreur? il m'affiche "erreur 424 : ob

jet requis"" ....... Aucune idée de ce que cela veut dire.. Quelqu'un a une idée? :p

Sub bou()
If Target.Column = 4 And Target.Value <> "" Then

If Target.Value < 4000 Then
Cells(Target.Row, 10) = "fort"
Else
Cells(Target.Row, 10) = "faible "

End If
End If


End Sub
0
Stringman621 Messages postés 1308 Date d'inscription   Statut Membre Dernière intervention   340
 
Oui, je me basais sur la sub suivante :

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Column = 4 And Target.Value <> "" Then

        If Target.Value < 4000 Then
            Cells(Target.Row, 10) = "fort"
        Else
            Cells(Target.Row, 10) = "faible"

        End If
        
    End If

End Sub


qui prend une valeur en paramètre "Target"
0
Glady994 Messages postés 447 Date d'inscription   Statut Membre Dernière intervention   145
 
Ouuh je connais pas du tout ce code :p. J'ai essayer de le copier tel quel pour être honnête et en l'exécutant, s'ouvre la fameuse fenêtre où l'ont doit choisir la macro à exécuter ........;
Le vba reste pour moi une énigme ..
0
Stringman621 Messages postés 1308 Date d'inscription   Statut Membre Dernière intervention   340
 
tu n'as rien a exécuter tout se fait automatiquement ;)
Tu as juste à copier la sub dans la feuille et essaie de saisir une valeur dans la colonne "montant" et la colonne "type de taux" va se mettre a jour automatiquement dès que tu va valider la saisie du montant ;)
0
Glady994 Messages postés 447 Date d'inscription   Statut Membre Dernière intervention   145
 
Génial! :p. Merci à toi ça me rendait dingue !

ps: je laisse le sujet ouvert car je doit encore le rallonger un petit peu :p.
0
Glady994 Messages postés 447 Date d'inscription   Statut Membre Dernière intervention   145
 
J'ai rajouter ceci pour colorier certaines cases
Sub Worksheet_Change2(ByVal Target As Range) 
    If Target.Column = 10 And Target.Value <> "" Then 
         
        If Target.Value = "Fort" Then cell.Interior.ColorIndex = 3 
        ElseIf Target.Value = "Très faible" Then cell.Interior.ColorIndex = 4 
        End If
    End If


End Sub 


mais à mon grand "désétonnement" ça n'a pas fonctionné :p (il ne se passe rien). Quelqu'un sait pourquoi?
0
Stringman621 Messages postés 1308 Date d'inscription   Statut Membre Dernière intervention   340
 
Parce qu'il ne peut avoir qu'une Sub Worksheet_change, si tu souhaites metre de la couleur il suffit de faire ca :

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Column = 4 And Target.Value <> "" Then

        If Target.Value < 4000 Then
            Cells(Target.Row, 10) = "fort"
            Cells(Target.Row, 10).Interior.ColorIndex = 3
        Else
            Cells(Target.Row, 10) = "faible"
            Cells(Target.Row, 10).Interior.ColorIndex = 4

        End If
        
    End If

End Sub
0
Glady994 Messages postés 447 Date d'inscription   Statut Membre Dernière intervention   145
 
J'ai suivi ton conseil mais malheureusement rien ne se colore (y'a -t il une option a activer ou quoi que ce soit?)
(Merci merci merci pour ton aide)
0
Glady994 Messages postés 447 Date d'inscription   Statut Membre Dernière intervention   145
 
deuxième tentative et ça fonctionne mercibeaucoup !!
0
Stringman621 Messages postés 1308 Date d'inscription   Statut Membre Dernière intervention   340
 
rien n'est à activer si tu as juste rajouter la ligne :
Cells(Target.Row, 10).Interior.ColorIndex = 3

après "fort", normalement cela devrait fonctionner...

Rassure moi le texte "Fort" et "Très faible" fonctionne encore, c'est bien la coloration qui ne fonctionne pas ?
0
Glady994 Messages postés 447 Date d'inscription   Statut Membre Dernière intervention   145
 
deuxième tentative et ça fonctionne mercibeaucoup !!
ps: Tout fonctionne comme il faut maintenant merci à toi!
0