formule: De Excel à Vba

azzouzze

XLDnaute Junior
Bonjour,

je voudrai transformer celle formule excel :

=SI(X5<>"";"A";SI(W5<>"";"C";SI(Q5<>"";"D";"P")))

en formule VBA à mettre dans ma macro. la formule est dans une boucle avec un compteur "cptr"


merci d'avance
 

porcinet82

XLDnaute Barbatruc
Re : formule: De Excel à Vba

Salut,

Sans avoir testé, je dirai quelque chose de ce genre :
Code:
If Range("X5").Value <> "" Then
    Range("X5").Value = "A"
ElseIf Range("W5").Value <> "" Then
    Range("W5").Value = "C"
ElseIf Range("Q5").Value <> "" Then
    Range("Q5").Value = "D"
Else
    Range("Q5").Value = "P"
End If

@+
 

Bebere

XLDnaute Barbatruc
Re : formule: De Excel à Vba

bonjour Azzouzze,Porcinet
L=index de ligne,tu adaptes cells(L,1),cellule destination de la formule

Cells(L, 1).FormulaLocal = "=SI(X" & L & "<>"""";""A"";SI(W" & L & "<>"""";""C"";SI(Q" & L & "<>"""";""D"";""P"")))"
à bientôt
 

SergiO

XLDnaute Accro
Re : formule: De Excel à Vba

Bonjour azzouzze, Romain, Bebere

Moi, j'avais plutôt compris ceci mais sans exemple rien de sûr !!!

Code:
For cptr = 1 To 100 ' 1 ET 100 à adapter

If Range("X" & cptr).Value <> "" Then
    Range("Z" & cptr).Value = "A" ' Z à adapter
ElseIf Range("W" & cptr).Value <> "" Then
    Range("Z" & cptr).Value = "C" ' Z à adapter
ElseIf Range("Q" & cptr).Value <> "" Then
    Range("Z" & cptr).Value = "D" ' Z à adapter
Else
    Range("Z" & cptr).Value = "P" ' Z à adapter
End If
@+
 

azzouzze

XLDnaute Junior
Re : formule: De Excel à Vba

Bonjour,

Je voulais incrémenté les lectures des cellules donc finalement voici ce que j ai mis si ca interresse:

' P D C A
If Cells(ii, 24).Value <> "" Then
Cells(ii, 25).Value = "A"
ElseIf Cells(ii, 23).Value <> "" Then
Cells(ii, 25).Value = "C"
ElseIf Cells(ii, 16).Value <> "" Then
Cells(ii, 25).Value = "D"
Else
Cells(ii, 25).Value = "P"
End I

voila encore merci à tous.
 

Discussions similaires

Réponses
8
Affichages
287

Statistiques des forums

Discussions
312 348
Messages
2 087 509
Membres
103 569
dernier inscrit
zeiffel976