Code pour calcul sous exel

Résolu
CGEAL1 Messages postés 29 Date d'inscription mercredi 19 juillet 2006 Statut Membre Dernière intervention 28 septembre 2006 - 22 août 2006 à 13:47
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 - 23 août 2006 à 14:05
Bonjour,

j'aurai besoin d'un code qui me fasse une multiplication entre une cellule où le chiffre exsite déjà ( le prix) et une autre cellule où cette fois ci c'est à  l'utilisateur de saisir le chiffre ( la quantité ).

Ainsi je voudrais qu'automatiquement dés que l'utilisateur rentre la quantité, le montant s'affiche dans une autre cellule.

J'espère mettre fait comprendre.
Merci à vous.
romain

41 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
23 août 2006 à 11:20
Bon
la protection des cellules sert à interdire la modification d'une plage de cellule.

Pour ton code, vas dans

Private Sub ThisWorkBook_Open()
    Range("C1").Select
    ActiveCell.FormulaR1C1 = "=RC[-2]*RC[-1]"
End Sub

Voilà, t'as le code !

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
3
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
22 août 2006 à 14:14
Salut
C'est vraiment la base de ce qu'on peut faire dans un tableur !
Regarde dans l'aide de Excel, tout y est expliqué.
Pour entrer un calcul dans une cellule, il suffit de commencer par le signe =

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
22 août 2006 à 14:14
??


Un code pour ça ? Alors que c'est la base de l'utilisation d'Excel ? Il te faut absolument du code pour faire cette opération ?


Parce que sinon :


A1 : Ton prix (déjà renseigné donc). B1: la quantité (que ton utilisateur va mettre) C1: =A1*B1 et c'est magique, ça fonctionne ! Et ça se met à jour en dynamique si dans tes options de calcul, tu as bien de coché Calcul automtique, autrement, tu rafraichis en appuyant sur F9.


 


S'il faut absolument du code ben :


range("C1").value = Range("A1").value * range("B1").value mais bon, je ne vois vraiment pas l'intérêt. Ou alors, c'est que tu n'es pas assez précis (du style, ce n'est pas dans les cellules que sont tes chiffres, mais dans des textBox d'un userform dans ce cas ... Précise précise ^^)


 


Molenn
0
CGEAL1 Messages postés 29 Date d'inscription mercredi 19 juillet 2006 Statut Membre Dernière intervention 28 septembre 2006
22 août 2006 à 14:22
ce qui a c'est qu'il me faut en dur un code sous vb pour que lorsque l'utilisateur rentre la quantité AUTOMATIQUEMENT  le montant s'affiche.

merci


 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
22 août 2006 à 14:39
Jack bat Molenn de 6 secondes.

[auteurdetail.aspx?ID=823629 CGEAL1] ce que tu ne comprends pas, c'est pour ce que tu demandes, tu as la réponse^^

Si le prix est dans B2, l'utilisateur te rentre le nombre en B3, et tu veux le résultat dans B4, bah dans B4 tu fais :

=B2*B3     [et appuie sur entrée]

Si tu veux du code, enregistre toi à faire ceci..

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
CGEAL1 Messages postés 29 Date d'inscription mercredi 19 juillet 2006 Statut Membre Dernière intervention 28 septembre 2006
22 août 2006 à 14:52
OK mais comme ceci fait parti d'un programme et comme je ni connai rien en programmation il me faut un code pour rendre cette opération automatique, ce code  sera ensuite  inséré sous vb.

merci

désolé pour mon manque compréhension.
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
22 août 2006 à 14:57
Bah comme je t'ai dit (et je ne peux pas le faire pour toi, je ne connais pas tes cellules)
enregistre toi à le faire, et tu auras un code. Je peux pas dire mieux, si je peux te filer un code bidon, qui à coup sûr ne te correspondra pas :

Range("B4").Select
ActiveCell.FormulaR1C1 = "=R[-2]C*R[-1]C"

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
CGEAL1 Messages postés 29 Date d'inscription mercredi 19 juillet 2006 Statut Membre Dernière intervention 28 septembre 2006
22 août 2006 à 15:05
je l'ai fait mais quel code il faut saisir sous vb pour rendre automatique cette opération?
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
22 août 2006 à 15:09
1/ T'es en vba excel ou tu pilotes excel via vb6 ?
2/ Oùse trouvent tes celllules "le prix" & "la quantité" ?
3/ Quelle est la cellule de destination ?

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
CGEAL1 Messages postés 29 Date d'inscription mercredi 19 juillet 2006 Statut Membre Dernière intervention 28 septembre 2006
22 août 2006 à 15:26
c'est une basic feuille de commande, donc je suis sous vb et je voudrai rendre automatique la saisi d'une opération.


le prix existe, l'utilisateur rentre sa quantité et là je voudrai que automatiquement le calcul se fasse.


 


merci désolé de vous prendre la tête
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
22 août 2006 à 15:37
ARgggghhh

Mais tu dis "le prix existe", c'est bien, je suis content de le savoir, mais ça ne me dit pas ce que c'est ......

Un label, un texbox, etc.....

Sans ces éléments, on ne peut rien pour toi !
Et dans quoi saisi ton utilisateur ?
Et dans quoi le résultat doit-il apparaitre ?????

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
CGEAL1 Messages postés 29 Date d'inscription mercredi 19 juillet 2006 Statut Membre Dernière intervention 28 septembre 2006
22 août 2006 à 15:50
J'arrête de vous prendre la tête, je vais me débrouiller autrement.


merci pour ta disponibilité et ta patience.
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
22 août 2006 à 15:59
Tu ne me prends pas la tête, je veux bien t'aider, c'est juste qu'il me faut un peu plus de précisions, comme le nom de tes contrôles et le type, pour te donner le code !

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
tof008 Messages postés 695 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 5 janvier 2010 33
22 août 2006 à 16:22
Salut mortalino!
Ca y est c'est de nouveau la guerre des secondes pour le plus rapide lol?

         (Si la réponse vous convient, appuyez sur réponse acceptée...).

                           Noubliez pas de lire le REGLEMENT 
0
tof008 Messages postés 695 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 5 janvier 2010 33
22 août 2006 à 16:23
Salut mortalino!
Ca y est c'est de nouveau la guerre des secondes pour le plus rapide lol?

         (Si la réponse vous convient, appuyez sur réponse acceptée...).

                           Noubliez pas de lire le REGLEMENT 
0
cs_ZANUS Messages postés 126 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 février 2007
22 août 2006 à 19:13
Salut,


Sub Macro1()
For i = 1 To 1
For j = 1 To 1
Cells(i, j + 2).Value = Cells(i, j) * Cells(i, j + 1).Value
Next j
Next i
End Sub


1/Bon, il faut quand même lancer la macro
2/On suppose que les données se trouvent en A1,B1 et le résultat en C3
3/Je comprends la réaction des autres. Une formule est quand même beaucoup plus simple.
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
23 août 2006 à 09:09
Salut Tof,
Salut Zanus,

en fait si j'ai bien compris il n'est pas avec excel mais des contrôles sur vb6 (et encore, pas sûr à 100 %)

Est ce que c'est compliqué de dire :

Bonjour,

Je travaille avec vb6, j'ai un label (lblPrix) contenant le prix d'un objet, j'ai une textbox (tbxQuantite) pour permettre l'utilisateur de rentrer le nombre d'objets, et un autre label (lblResultat) reprenant le résultat de la multiplication entre la valeur de lblPrix et de tbxQuantite.
Comment faire pour que l'opération dans lblResultat se fasse automatiquement, dès que  les valeurs changent dans lblPrix & tbxQuantite ?

Merci

Qu'en pensez vous ?
Comme je lui ai dit, il ne me prend pas la tête, c'est juste que c'est malheureux  d'être déjà sur la 2ème page et ne pas savoir s'il est en vba ou vb6, et ne pas connaitre les contrôles utilisés !

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
23 août 2006 à 09:44
Quand je pense que je me suis fait griller pour 6 secondes !!!
Mais j'ai une excuse : la dernière fois, on m'a dit qu'on demandait du code et pas des formules EXCEL, alors, j'ai eu un temps de réflexion, devais-je poster ? Et puis, après un grand travail sur moi-même, j'ai décidé que oui, ça valait le coup (tout ça en 6 secondes oui, je suis très rapide ^^).

En fait, le truc qui pose pb, c'est qu'on a l'impression qu'il est en VB, mais le titre de la question est Calcul sous Excel.


 


Mais je rejoins Mortalino : exposer clairement son besoin (sans forcément tout détailler, mais un minimum de précision), c'est encore le meilleur moyen d'avoir la réponse rapidement et sans 2 pages de blabla ...
Parce qu'après la question, on ne sait toujours pas où l'utilisateur saisit sa quantité, ce qui est le minimum.

Enfin ... Un jour peut être on aura la réponse... Peut être ...

Molenn
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
23 août 2006 à 09:51
Salut tout le monde.


De toute facon il s'en tape j ai l'impression il a du rester sur "J'arrête de vous prendre la tête, je vais me débrouiller autrement."

Bravo Mortalino tu as reussi a faire peur au Petit.






@+, Julien
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
23 août 2006 à 10:05
Pourtant j'ai pas une tête à faire peur

Quoi que là (pas habitué à me lever à 7h, enfin aussi tôt quoi !) j'ai la tête de qqun qui a fait la bringue cette nuit !

Je crains effectivement vu son message qu'il abandonne ce Topic. Et pourtant, vu l'heure de sa dernière connection, il a lu les messages jusqu'à Zanus. Et Dix contre Un qu'il revient se logguer aujourd'hui !
Je remplace temporairement Jack pour la boule de cristal, mais c'est pas encore au point (sinon, j'aurai su de quoi notre ami [auteurdetail.aspx?ID=823629 CGEAL1]parle)

Molenn, en fait je pense que c'est pas une mauvaise chose, moi aussi j'y ai réfléchît et je pense que suivant les situations, c'est pas plus mal d'avoir l'équivalent VBA en formule excel ! Donc tes réponses Excel sont plus que les bienvenues.

Tiens, ça me fait pensé, rendez vous sur un futur topic........

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0