Modification d'une cellule sous deux conditions
Bonjour le forum,
je test les valeurs des cellules d'une colonne N-1 pour renseigner la valeur de la cellule de la colonne N. La position de la colonne N est variable.
Pour cela j'utilise le code suivant qui fonctionne ;
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Public Sub taches_faites()
'remplissage des taches terminées
Dim Real As Range, CellReal As Range
Application.ScreenUpdating = False
'On Error Resume Next
If ActiveCell.Value = "Réalisé" Then
Set Real = Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(100, 0))
For Each CellReal In Real
If CellReal.Offset(0, -1) <> "" Then
CellReal.Value = "Fait"
End If
Next CellReal
Set Real = Nothing
Else: MsgBox ("veuillez sélectionner une case : Réalisé ")
ActiveCell.Offset(0, 1).Select
End If
End Sub |
maintenant j' aimerais ajouter une deuxiéme condition qui est la valeur correspondante de la même ligne mais dans la colonne fixe D
en traduction :
If CellReal.Offset(0, -1) <> "" and range ( colonne (D),row de CellReal).value ="blabla" Then execution du code
Comme la position de ma colonne contenant CellReal est variable, je ne peux pas utiliser la propriété Offset.
après plusieurs essais infructueux, je m'en suis tirer avec une formule dans le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| Public Sub taches_faites()
'remplissage des taches terminées
Dim Real As Range, CellReal As Range
Application.ScreenUpdating = False
'On Error Resume Next
If ActiveCell.Value = "Réalisé" Then
Set Real = Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(100, 0))
For Each CellReal In Real
If CellReal.Offset(0, -1) <> "" Then
If CellReal = "" Then
With CellReal
.FormulaR1C1 = "=IF(AND(RC[-1]>0.5,RC4=R2C5),""Fait"","""")"
.Value = .Value
End With
End If
End If
Next CellReal
Set Real = Nothing
Else: MsgBox ("veuillez sélectionner une case : Réalisé ")
ActiveCell.Offset(0, 1).Select
End If
End Sub |
mais je pense que je peux mettre directement les deux conditions dans le code sans pour cela utiliser de formule. Toute l'astuce se trouvant dans la référence absolue de la colonne D et la référence relative de CellReal
Si quelqu'un pouvait m'indiquer une piste...
merci beaucoup.
Cordialement
Dom