Excel 2013 VBA code

Bonjour

J'ai cette formule dans la colonne K2 « SI(OU(J2=0;C2=0);"";(J2-C2)) ».

Je voudrais la mettre en vba dans le Worksheet_Change et je ne sais pas comment.

Toute aide serait appréciée.

Merci à l'avance

Bonjour,

J'ai cette formule dans la colonne K2 « SI(OU(J2=0;C2=0);"";(J2-C2))

voici

if [j2]=0 or [c2]=0 then [k2]=[j2]-[c2] else [k2]=""

merci pour le début de réponse, mais la formule doit s'appliquer sur toute la colonne.

besoin d'aide.

bonsoir,

s'il faut recalculer toute la colonne à chaque changement, il vaut mieux mettre une formule et ajouter la formule dans les lignes où cela est nécessaire. pour cela une référence à une colonne sur laquelle aligner la formule est indispensable.

peut-on se baser sur la dernière ligne remplie en colonne C ou J pour déterminer la dernière ligne dans laquelle il faut mettre la formule en colonne K ?

un fichier exemple est toujours plus facile,simple pour ceux qui voudraient t'aider ...

Bonjour

Si on regarde l'énoncée, la formule s'applique sur la colonne K.

Merci

duplaly a écrit :

Bonjour

Si on regarde l'énoncée, la formule s'applique sur la colonne K.

Merci

bonsoir,

si on lit la question, on verra que j'avais compris et que ce n'est pas cela que je demande... si tu veux éviter de tirer ta formule vers le bas jusqu'à la fin du fichier, il faut une autre colonne qui puisse servir de référence pour déterminer jusqu'à quelle ligne copier ta formule.

Désolé.

Est ce que je peux avoir une approche dans ce style à mesure que je remplisse mon tableau.

Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False

If Range("j2") = 0 Or Range("c2") = 0 Then

Range("k2") = ""

Else

Range("k2") = Range("j2") - Range("c2")

End If

Application.EnableEvents = True

End Sub

Merci

duplaly a écrit :

Désolé.

Est ce que je peux avoir une approche dans ce style à mesure que je remplisse mon tableau.

oui, indique-nous une colonne dans laquelle tu introduis une valeur et sur la ligne de laquelle je dois ajouter la formule en colonne K, puis-je considérer que tu introduis une valeur en colonne C ?

voici une macro qui crée autant de formule qu'il y a de valeurs en colonne C. et qui s'active quand tu introduis une valeur en colonne C

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column <> 3 Then Exit Sub
    dl = Cells(Rows.Count, 3).End(xlUp).Row
    Application.EnableEvents = False
    Range("K2:K" & dl).FormulaR1C1 = "=IF(OR(RC3=0,RC10=0),"""",RC10-RC3)"
    Application.EnableEvents = True
End Sub

Merci pour le travail. Cela fonctionne tel que je l'espérais.

Une petite chose: il semble quand j'efface les données, je vois que la formule était appliquée en K1 également.

K1 est ma ligne de titre.

Si tu pouvais juste corriger cette petite erreur.

je te joins mon fichier

bonjour,

correction

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column <> 3 Then Exit Sub
    dl = Cells(Rows.Count, 3).End(xlUp).Row
     if dl=1 then dl=2
    Application.EnableEvents = False
    Range("K2:K" & dl).FormulaR1C1 = "=IF(OR(RC3=0,RC10=0),"""",RC10-RC3)"
    Application.EnableEvents = True
End Sub
Rechercher des sujets similaires à "2013 vba code"