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 -
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
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
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 ...
@+
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 ...
@+
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"
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 :'(( !
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
, 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
Oui, je me basais sur la sub suivante :
qui prend une valeur en paramètre "Target"
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"
J'ai rajouter ceci pour colorier certaines cases
mais à mon grand "désétonnement" ça n'a pas fonctionné :p (il ne se passe rien). Quelqu'un sait pourquoi?
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?
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