Vba excel - problème d'appel à procédure
Le_Suédois
-
LeSuédois68 Messages postés 1 Statut Membre -
LeSuédois68 Messages postés 1 Statut Membre -
Bonjour à tous,
On m'a demandé de faire un programme en excel, et je rencontre un problème d'appel à procédure. Je voudrais que, lors du remplissage d'un cellule (A) par un pourcentage, une autre cellule (B), dans laquelle je ne peux insérer aucune formule, s'incrémente de ce pourcentage. Pour cela, j'ai créé un fonction vba qui arrive bien à incrémenter le nombre, mais je n'arrive pas à remplir la case B dynamiquement. Pour cela, je voulais appeler une procédure sub dans ma fonction, mais malheureusement cela ne fonctionne pas. Quelqu'un saurait-il comment faire, ou aurait une autre solution pour remplir cette case?
Merci pour vos réponses
Pour info voici mon code :
Function incrementePrix(prix As Single, pourcent As Single)
plus = prix * pourcent / 100
prix = prix + plus
incrementePrix = prix
Call ecrire(prix)
End Function
Sub ecrire(prix As Single)
Sheets("Qwddf").Range("I70").FormulaR1C1 = prix
End Sub
On m'a demandé de faire un programme en excel, et je rencontre un problème d'appel à procédure. Je voudrais que, lors du remplissage d'un cellule (A) par un pourcentage, une autre cellule (B), dans laquelle je ne peux insérer aucune formule, s'incrémente de ce pourcentage. Pour cela, j'ai créé un fonction vba qui arrive bien à incrémenter le nombre, mais je n'arrive pas à remplir la case B dynamiquement. Pour cela, je voulais appeler une procédure sub dans ma fonction, mais malheureusement cela ne fonctionne pas. Quelqu'un saurait-il comment faire, ou aurait une autre solution pour remplir cette case?
Merci pour vos réponses
Pour info voici mon code :
Function incrementePrix(prix As Single, pourcent As Single)
plus = prix * pourcent / 100
prix = prix + plus
incrementePrix = prix
Call ecrire(prix)
End Function
Sub ecrire(prix As Single)
Sheets("Qwddf").Range("I70").FormulaR1C1 = prix
End Sub
A voir également:
- Vba excel - problème d'appel à procédure
- Liste déroulante excel - Guide
- Nommez une application d'appel vidéo ou de visioconférence - Guide
- Word et excel gratuit - Guide
- Appel privé - Guide
- Si ou excel - Guide
2 réponses
Bonsoir,
tu peux utiliser une procédure évènementielle derrière la feuille où tu saisis le pourcentage :
cordialement
tu peux utiliser une procédure évènementielle derrière la feuille où tu saisis le pourcentage :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("b9").Address Then
[feuil2!I70] = (Target + 1) * [prix]
End If
End Subdans l'exemple, "prix" est un nom, laprocédure ne travaille que si c'est la cellule "B9" qui change (ce qui n'est pas terrible vu que si le prix change, la cellule I70 ne change pas!)
cordialement