Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro CalculEnLigne

2 réponses
Avatar
JMM21
Bonjour à toutes et à tous,

J'ai téléchargé sur la FAQ la superbe macro
"CalculEnLigne" (merci à Anacoluthe).

Est-il envisageable d'utiliser ce code
dans un champ de formulaire (de type "nombre")
et de le modifier de telle manière que le résultat
("RES") s'affiche seul dans le champ
actif qui a été utilisé pour saisir le calcul ?
(comme dans une cellule excel, en somme...)
J'espère être clair.

Merci.

P.S pour Géo : je ne suis pas "une wordienne"
main hétéro de Wordien... a+





Merci encore

2 réponses

Avatar
Anacoluthe
Bonjour !

'JMM21' nous a écrit ...
Bonjour à toutes et à tous,
J'ai téléchargé sur la FAQ la superbe macro "CalculEnLigne"
Est-il envisageable d'utiliser ce code
dans un champ de formulaire (de type "nombre")
et de le modifier de telle manière que le résultat
("RES") s'affiche seul dans le champ
actif qui a été utilisé pour saisir le calcul ?
(comme dans une cellule excel, en somme...)
J'espère être clair.


Vous devez utiliser une autre formulation de cette macro pour
remplacer le résultat de votre champ de formulaire :

Public Sub CalculChampFormulaire()
With Selection.Paragraphs(1).Range.FormFields(1)
If .Range.Calculate <> 0 Then
.Result = .Range.Calculate
End If
End With
End Sub

Placez un champ de type /texte/ en début d'un paragraphe du
formulaire et dans ses propriétés précisez
Exécuter la macro - A la sortie : CalculChampFormulaire

Verrouillez le formulaire, testez : si l'utilisateur tape 2+2 dans ce champ
c'est 4 qui s'affiche aussitôt en sortant du champ. La macro est utilisable
pour plusieurs champs, la forme simplifiée ci-dessus suppose seulement
qu'un tel champ 'autocalculé' est le premier d'une ligne.

Anacoluthe
« Bienheureux les travailleurs des champs. »
- VIRGILE

Avatar
JMM21
Hello,

J'ai tenté de faire un mixe avec
la macro "CalculEnLigne"
et "CalculChampFormulaire".
1 : renseigner le champ par l'expression
2 : afficher l'expression et son résultat
3 : remplir le champ par le résulat

J'y suis presque...

Pour vous montrer ce que je souhaite
je joins un extrait du document.

http://cjoint.com/?jlwB4Mek44

Je suis bien conscient qu'excel serait 298724
fois plus adapté mais je n'ai pas eu le choix ...

Je pense :

- qu'elle peut être simplifiée.
- que je peux me dispenser d'un
message d'erreur quand il n'y a
pas de calcul a effectuer
- que le format nombre avec séparateur
de millier serait plus adapté.
- que les totaux (ligne & colonne) soient
mis à jour en même temps ?

Là, j'exagère peut-être beaucoup...

Et vous, qu'en pensez-vous ?

A lire vos remarques

Bonsoir et merci









Bonjour !

'JMM21' nous a écrit ...
Bonjour à toutes et à tous,
J'ai téléchargé sur la FAQ la superbe macro "CalculEnLigne"
Est-il envisageable d'utiliser ce code
dans un champ de formulaire (de type "nombre")
et de le modifier de telle manière que le résultat
("RES") s'affiche seul dans le champ
actif qui a été utilisé pour saisir le calcul ?
(comme dans une cellule excel, en somme...)
J'espère être clair.


Vous devez utiliser une autre formulation de cette macro pour
remplacer le résultat de votre champ de formulaire :

Public Sub CalculChampFormulaire()
With Selection.Paragraphs(1).Range.FormFields(1)
If .Range.Calculate <> 0 Then
.Result = .Range.Calculate
End If
End With
End Sub

Placez un champ de type /texte/ en début d'un paragraphe du
formulaire et dans ses propriétés précisez
Exécuter la macro - A la sortie : CalculChampFormulaire

Verrouillez le formulaire, testez : si l'utilisateur tape 2+2 dans ce champ
c'est 4 qui s'affiche aussitôt en sortant du champ. La macro est utilisable
pour plusieurs champs, la forme simplifiée ci-dessus suppose seulement
qu'un tel champ 'autocalculé' est le premier d'une ligne.

Anacoluthe
« Bienheureux les travailleurs des champs. »
- VIRGILE