Amélioration code ?
Bonsoir,
Complètement novice en VBA j'arrive à bidouiller quelques lignes de code pour réussir à faire ce que je voulais jusqu'à présent.
Certains de ne pas me servir du code orienté objet, je fais simplement du procédural qui répond à mes attentes et plus facile
Après avoir fait cela (qui fonctionne impec ^^') je me suis dit qu'il devait avoir plus court/condensé, non ?
Ma demande est la suivante :
Je voudrais améliorer mon code pour lui intégrer le fait de soustraire la case pour avoir un résultat "net" avec toujours ma couleur que
je lui avais mis au départ .
Exemple :
' On va dire que "E2" = 100 et "D2" = 500
'Je voudrais que "E2" - "D2" = "Résultat" avec la couleur initialement donnée au départ dans notre cas VERT
If Range("E2") < Range("D2") Then '#1
With Range("E2").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E2") > Range("D2") Then
With Range("E2").Interior
.Color = RGB(255, 0, 0)
End With
End IfMon code de cochon ^^' :
Sub DonsPositifNegatif()
' EXEMPLE
'Si la cellule E2 est inférieur à D2 alors E2 rouge
'Si la cellule E2 est plus grande que D2 alors E2 rouge
If Range("E2") < Range("D2") Then '#1
With Range("E2").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E2") > Range("D2") Then
With Range("E2").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E3") < Range("D3") Then ' On passe au suivant #2
With Range("E3").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E3") > Range("D3") Then
With Range("E3").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E4") < Range("E4") Then ' On passe au suivant #3
With Range("E4").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E4") > Range("D4") Then
With Range("E4").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E4") < Range("D4") Then ' On passe au suivant #4
With Range("E4").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E4") > Range("D4") Then
With Range("E4").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E5") < Range("D5") Then ' On passe au suivant #5
With Range("E5").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E5") > Range("D5") Then
With Range("E5").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E6") < Range("D6") Then ' On passe au suivant #6
With Range("E6").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E6") > Range("D6") Then
With Range("E6").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E7") < Range("D7") Then ' On passe au suivant #7
With Range("E7").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E7") > Range("D7") Then
With Range("E7").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E8") < Range("D8") Then ' On passe au suivant #8
With Range("E8").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E8") > Range("D8") Then
With Range("E8").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E9") < Range("D9") Then ' On passe au suivant #9
With Range("E9").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E9") > Range("D9") Then
With Range("E9").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E10") < Range("D10") Then ' On passe au suivant #10
With Range("E10").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E10") > Range("D10") Then
With Range("E10").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E11") < Range("D11") Then ' On passe au suivant #11
With Range("E11").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E11") > Range("D11") Then
With Range("E11").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E12") < Range("D12") Then ' On passe au suivant #12
With Range("E12").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E12") > Range("D12") Then
With Range("E12").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E13") < Range("D13") Then ' On passe au suivant #13
With Range("E13").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E13") > Range("D13") Then
With Range("E13").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E14") < Range("D14") Then ' On passe au suivant #14
With Range("E14").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E14") > Range("D14") Then
With Range("E14").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E15") < Range("D15") Then ' On passe au suivant #15
With Range("E15").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E15") > Range("D15") Then
With Range("E15").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E16") < Range("D16") Then ' On passe au suivant #16
With Range("E16").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E16") > Range("D16") Then
With Range("E16").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E17") < Range("D17") Then ' On passe au suivant #17
With Range("E17").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E17") > Range("D17") Then
With Range("E17").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E18") < Range("D18") Then ' On passe au suivant #18
With Range("E18").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E18") > Range("D18") Then
With Range("E18").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E19") < Range("D19") Then ' On passe au suivant #19
With Range("E19").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E19") > Range("D19") Then
With Range("E19").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E20") < Range("D20") Then ' On passe au suivant #20
With Range("E20").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E20") > Range("D20") Then
With Range("E20").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E21") < Range("D21") Then ' On passe au suivant #21
With Range("E21").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E21") > Range("D21") Then
With Range("E21").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E22") < Range("D22") Then ' On passe au suivant #22
With Range("E22").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E22") > Range("D22") Then
With Range("E22").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E23") < Range("D23") Then ' On passe au suivant #23
With Range("E23").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E23") > Range("D23") Then
With Range("E23").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E24") < Range("D24") Then ' On passe au suivant #24
With Range("E24").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E24") > Range("D24") Then
With Range("E24").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E25") < Range("D25") Then ' On passe au suivant #25
With Range("E25").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E25") > Range("D25") Then
With Range("E25").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E26") < Range("D26") Then ' On passe au suivant #26
With Range("E26").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E26") > Range("D26") Then
With Range("E26").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E27") < Range("D27") Then ' On passe au suivant #27
With Range("E27").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E27") > Range("D27") Then
With Range("E27").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E28") < Range("D28") Then ' On passe au suivant #28
With Range("E28").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E28") > Range("D28") Then
With Range("E28").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E29") < Range("D29") Then ' On passe au suivant #29
With Range("E29").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E29") > Range("D29") Then
With Range("E29").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E30") < Range("D30") Then ' On passe au suivant #30
With Range("O30").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E30") > Range("D30") Then
With Range("E30").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E31") < Range("D31") Then ' On passe au suivant #31
With Range("E31").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E31") > Range("D31") Then
With Range("E31").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E32") < Range("D32") Then ' On passe au suivant #32
With Range("E32").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E32") > Range("D32") Then
With Range("E32").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E33") < Range("D33") Then ' On passe au suivant #32
With Range("E33").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E33") > Range("D33") Then
With Range("E33").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E34") < Range("D34") Then ' On passe au suivant #33
With Range("E34").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E34") > Range("D34") Then
With Range("E34").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E35") < Range("D35") Then ' On passe au suivant #34
With Range("E35").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E35") > Range("D35") Then
With Range("E35").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E36") < Range("D36") Then ' On passe au suivant #35
With Range("E36").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E36") > Range("D36") Then
With Range("E36").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E37") < Range("D37") Then ' On passe au suivant #36
With Range("E37").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E37") > Range("D37") Then
With Range("E37").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E38") < Range("D38") Then ' On passe au suivant #37
With Range("E38").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E38") > Range("D38") Then
With Range("E38").Interior
.Color = RGB(255, 0, 0)
End With
End If
If Range("E39") < Range("D39") Then ' On passe au suivant #38
With Range("E35").Interior
.Color = RGB(34, 177, 76)
End With
ElseIf Range("E39") > Range("D39") Then
With Range("E39").Interior
.Color = RGB(255, 0, 0)
End With
End If
End Submerci d'avance.
Salut Envising,
apprendre passe souvent par un mode essai-erreur : pas de gêne à avoir!
Que veux-tu faire? Pige pas trop le rapport avec les couleurs...
A+
Je vais essayer d'expliquer avec de l'argent on comprend toute suite mieux
Donc la avec mon code quand je l'exécute j'ai ma colonne ArgentRecus qui deviens Vert ou Rouge suivant si mon ArgentCrée est supérieur ou inférieur à l'argentRecu .
Je veux garder la couleur initial pour l'argentNet étant donner que je ne fais pas la soustraction avec le nombre le plus grand pour les déficitaires.
Sans couleur je me retrouve avec du positif pour les négatifs et du négatifs pour les positifs, je trouve plus simple du coup de garde vert ou rouge
Bonjour
Bonjour à tous
Un essai à tester.
Bye !
Pfff limite pas drôle ca fonctionne du premier coup
Algorithme "simple" pour toi je pense, j'arrive a le lire a peu prêt mais impossible de faire ca perso
grand merci à toi !
Je peux abuser de votre gentillesse du coup ? :
On va essayer de rendre ca un peu plus dur, est-il possible dans le code que je lui dise des prénoms pour qu'il fasse 1 seul et même total sur la nouvelle colonne crée.
La somme de Mikael et John sont liée du coup je voudrais avoir 1 total pour les 2 sois -12740 + 777 = -11 963 (toujours vert du coup)
je pense que le fait de ne pas trié par grandeur au départ pour faire la soustraction va être relou, non ?