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 If

Mon 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 Sub

merci 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 !

15classeur1.xlsm (15.93 Ko)

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 ?

Rechercher des sujets similaires à "amelioration code"