[VBA] Condition = Valeur négative

  • Initiateur de la discussion Initiateur de la discussion TheLio
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

TheLio

XLDnaute Accro
Bonsoir, dans le code cidessous, j'aimerai ajouter une condition
dans le but de répondre à un autre fil, mais je bute 😱

La condition supplémentaire est si ="tutu" maitre la ligne (col 3à14) en chiffre négatif..

Option Explicit
'############
'Auteur PMO2
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim lig&
Dim i&
Dim R As Range
Dim R2 As Range
Dim C As Range
Dim valeur
Dim couleur
Set R = Application.Intersect(Target, Range(Columns(2).Address))
If R Is Nothing Then Exit Sub
'--- A adapter ---
valeur = Array("toto", "tutu")
couleur = Array(41, 44)
'-----------------
For Each C In R
lig& = C.Row
Set R2 = ActiveSheet.Range(Cells(lig&, 3), Cells(lig&, 14))
For i& = LBound(valeur) To UBound(valeur)
If C = valeur(i&) Then
R2.Interior.ColorIndex = couleur(i&)
Exit For
End If
Next i&
Next C
End Sub
'############
Merci pour vos pistes
A++
Lio
 
Re : [VBA] Condition = Valeur négative

Bonjour Tous,
Salut Skoobi et merci pour la piste, je crois que je m'approche du résultat.
Avec le code ci-dessous les cellule se mettent à Zéro si j'ajoute la partie en rouge la valeur VRAI mais toujours pas de cellule en négatif
Option Explicit
'############
'Auteur PMO2
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim lig&
Dim i&
Dim R As Range
Dim R2 As Range
Dim C As Range
Dim valeur
Dim couleur
Set R = Application.Intersect(Target, Range(Columns(2).Address))
If R Is Nothing Then Exit Sub
'--- A adapter ---
valeur = Array("toto", "tutu")
couleur = Array(41, 44)
'-----------------
For Each C In R
lig& = C.Row
Set R2 = ActiveSheet.Range(Cells(lig&, 3), Cells(lig&, 14))
For i& = LBound(valeur) To UBound(valeur)
If C = valeur(i&) Then
R2.Interior.ColorIndex = couleur(i&)
On Error Resume Next
If valeur(i&) = "tutu" Then
R2.Value = -R2(Cells(lig&, 3), Cells(lig&, 14)).Value '= -R2(Cells(lig&, 3), Cells(lig&, 14)).Value
Exit For
End If
End If
Next i&
Next C
End Sub
'############
 
Re : [VBA] Condition = Valeur négative

bonjour Thelio
bonjour Skoobi

A tester

Code:
Dim cel as range
.....
If C = valeur(i&) Then
R2.Interior.ColorIndex = couleur(i&)
[COLOR=blue]If C="tutu" then[/COLOR]
[COLOR=blue] for each cel in R2[/COLOR]
[COLOR=blue]  cel.value=-cel.value[/COLOR]
[COLOR=blue] next cel[/COLOR]
[COLOR=blue]End if
[/COLOR]Exit For
.....
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
928
Réponses
4
Affichages
763
Retour