introduire une formule par macro

Discussions et dépannage concernant Word (Toutes versions).

Modérateur : Modérateurs

Répondre
apt
Membre
Membre
Messages : 68
Enregistré le : 02 juin 2005, 23:00:00
Localisation : La terre est vaste
Contact :

introduire une formule par macro

Message par apt » 21 août 2006, 03:12:21

Bonjour,

J'ai essaye cette macro (inserée dans ThisDocument) pour l'exemple :


A1 = 7000; B1 = 2663 :


Sub Macro1()
ActiveDocument.Tables(1).Cell(1, 3).Select
Selection.InsertFormula Formula:="=(B1/A1)*100)"
ActiveDocument.Fields.Update
End Sub


mais C1 me donne toujours 38.04


meme si je change les valeurs de A1 et B1, C1 reste toujours figée sur
38.04 !!!


Et si ja fait executer la macro du menu outils une autre valeur de
38.04 vient s'ajouter au contenu de C1 qui est 38.04 (ca devient 38.0438.04)


Et ActiveDocument.Fields.Update ne fait rien ?


Ou est l'erreur ?


Merci.
-------------------------------------------------------------
Club de correspondance :
http://membres.lycos.fr/elatlasclub

Windows XP Pro SP2
Intel Pentium 4 CPU 3.00Ghz - 191 MB RAM - VIA/S3G UniChrome Pro IGP - Bios : Award - DD 80 G

John Mallory
Membre récent
Membre récent
Messages : 15
Enregistré le : 01 juin 2006, 15:18:16

Message par John Mallory » 02 sept. 2006, 10:24:16

Bonjour,

Je ne sais pas si tu as un problème de format de cellule et je n'ai pas vraiment compris ce que tu veux faire comme macro mais en tout cas, la macro que je te propose est plus simple. Tu n'as pas à la coller dans ThisDocument.

Sub Macro4()
Range("C1").Value = Range("B1").Value / Range("A1").Value * 100
End Sub

On suppose que A1=7000 et B1= 2663

P.S: pourquoi introduire une formule aussi sommaire dans une macro?

logun
Modérateur
Modérateur
Messages : 1048
Enregistré le : 02 juin 2005, 23:00:00
Localisation : les pieds dans l' eau

Message par logun » 02 sept. 2006, 10:46:27

salut,

pourquoi utiliser une macro il suffit de mettre dans c1 =(B1/A1)*100

John Mallory
Membre récent
Membre récent
Messages : 15
Enregistré le : 01 juin 2006, 15:18:16

Message par John Mallory » 02 sept. 2006, 12:12:00

Re,

C'est bien ce que je disais dans mon PS. Si elle tient à une macro, elle fait comme je lui ai indiqué.

apt
Membre
Membre
Messages : 68
Enregistré le : 02 juin 2005, 23:00:00
Localisation : La terre est vaste
Contact :

Message par apt » 05 sept. 2006, 19:19:13

logun a écrit :salut,

pourquoi utiliser une macro il suffit de mettre dans c1 =(B1/A1)*100
C'est tres simple cette formule, mais la mise à jour ne se fait pas toute seul, malheureusement !!!

C'est pourquoi je cherche une macro qu'il a pour tache de le faire.

apt
Membre
Membre
Messages : 68
Enregistré le : 02 juin 2005, 23:00:00
Localisation : La terre est vaste
Contact :

Message par apt » 05 sept. 2006, 19:20:09

John Mallory a écrit :Bonjour,

Je ne sais pas si tu as un problème de format de cellule et je n'ai pas vraiment compris ce que tu veux faire comme macro mais en tout cas, la macro que je te propose est plus simple. Tu n'as pas à la coller dans ThisDocument.

Sub Macro4()
Range("C1").Value = Range("B1").Value / Range("A1").Value * 100
End Sub

On suppose que A1=7000 et B1= 2663

P.S: pourquoi introduire une formule aussi sommaire dans une macro?
Voila ce que ça donne dans VBE :
Erreur de compilation:
Membre de méthode ou de données introuvable

logun
Modérateur
Modérateur
Messages : 1048
Enregistré le : 02 juin 2005, 23:00:00
Localisation : les pieds dans l' eau

Message par logun » 05 sept. 2006, 19:59:31

salut,

normalement quand tu valide les valeurs entrées dans a1 et/ou B1 cela recalcul automatiquement le resultat dans c1, chez moi ça marche,

regarde dans outils -> options -> calcul si tu as activé : automatique

apt
Membre
Membre
Messages : 68
Enregistré le : 02 juin 2005, 23:00:00
Localisation : La terre est vaste
Contact :

Message par apt » 05 sept. 2006, 22:54:11

logun a écrit :salut,

normalement quand tu valide les valeurs entrées dans a1 et/ou B1 cela recalcul automatiquement le resultat dans c1, chez moi ça marche,

regarde dans outils -> options -> calcul si tu as activé : automatique
Tu parles du cas Excel.

pour moi, dans ce post, ça se passe dans Word.

nouv
Membre actif
Membre actif
Messages : 277
Enregistré le : 02 juin 2005, 23:00:00
Localisation : Lyon

Message par nouv » 08 sept. 2006, 18:57:28

salut,
meme si je change les valeurs de A1 et B1, C1 reste toujours figée sur
38.04 !!!
pour que Word mette à jour le champ de calcul il faut appuyer sur F9 (en ayant préalablement sélectionner le champ ou le document)
><>

Répondre

Retourner vers « Word »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 20 invités