OVH Cloud OVH Cloud

fonction si qui reconnait du texte

12 réponses
Avatar
didier
Bonjour,

voila mon code:

For Each Cellule In Range("N2:N500")
Cellule.Select
ActiveCell.FormulaR1C1 = "=IF(RC[-5]="IDA",1204,0)"
Next Cellule

le problème vient de "IDA" je voudrais que dans le test la fonction IF
reconnaisse IDA comme text ou nom et pas comme un nombre.

Comment faire ?

Merci

2 réponses

1 2
Avatar
CAP2
Une solution de repli en attendant mieux :

On peut faire que la macro avant d'afficher 1204 ou 0, teste si le contenu
des cellules de références contient IDA; et si tel est le cas, que la macro
remplace ce contenu par la chaîne exacte IDA.

Puis l'affichage des 1204 ou 0 se fait. Ca donne ça :

Sub Test()
Dim cellule As Range

For Each cellule In Range("F1:F28")

cellule.Offset(0, -5).Replace What:="*IDA*", Replacement:="IDA",
LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse

cellule.FormulaR1C1 = "=IF(RC[-5]=""IDA"",1204,0)"

Next cellule


End Sub

Ca peut convenir ?

CAP2
Avatar
JLuc
Une solution de repli en attendant mieux :

On peut faire que la macro avant d'afficher 1204 ou 0, teste si le contenu
des cellules de références contient IDA; et si tel est le cas, que la macro
remplace ce contenu par la chaîne exacte IDA.

Puis l'affichage des 1204 ou 0 se fait. Ca donne ça :

Sub Test()
Dim cellule As Range

For Each cellule In Range("F1:F28")

cellule.Offset(0, -5).Replace What:="*IDA*", Replacement:="IDA",
LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse

cellule.FormulaR1C1 = "=IF(RC[-5]=""IDA"",1204,0)"

Next cellule


End Sub

Ca peut convenir ?

CAP2


Ou alors, directement :
cellule.FormulaR1C1 = "=IF(RC[-5]=""*IDA*"",1204,0)"

--
JLuc

1 2