Discussion:
mise en place de formule uniquement si une cellule est remplie
(trop ancien pour répondre)
L-A
2020-06-05 20:53:18 UTC
Permalink
Bonjour

Sur un tableau de 200 lignes et 300 colonnes , j'i mis une formule sur les 5 dernières colonnes.

Néanmoins, cette formule ne sert à rien si aucune cellule de la ligne en question n'est renseignée.

Cela alourdi donc mon classeur !!

Est il possible que dans ces fameuses 5 dernières colonnes ou sont censées être mes formules, de ne les inscrire uniquement si une cellule de la ligne considéré (plage) est renseignée

j'ai bien tenté ce mais ca calcul le classeur entier

Private Sub Worksheet_Change(ByVal Target As Range)
Range("F3").Select
ActiveCell.FormulaR1C1 = "=SUM(RC[-4]:RC[-1])"
End Sub


merci de votre aide
MichD
2020-06-05 21:36:49 UTC
Permalink
Post by L-A
ActiveCell.FormulaR1C1 = "=SUM(RC[-4]:RC[-1])"
Bonjour,

Ce que tu peux faire, utiliser la commande "calcul manuel" pour cette
feuille.

La commande est : Onglet "Formule" du ruban / Options de calcul / Manuel

Cela n'affecte pas le calcul automatique des autres feuilles. Après la
saisie de donnée, tu passes la feuille en calcul automatique lorsqu'il
s'agit de mettre la feuille à jour.

Cela te permet d'inscrire toutes les formules à la création du classeur
et ne pas être importuné par la lenteur de la mise à jour des formules.

Tu peux aussi essayer ceci.
Dans l'exemple que tu donnes, tu as une somme d'une plage de cellules.

Suppose que ta formule est : =SOMME($C1:$F1) que tu répètes sur 200 lignes.

A ) Crée un nom ("Coût") significatif en fonction de ce que représente
le résultat et utilise cette formule pour Référence à :
=SOMME(Feuil1!$C1:$F1)

Nom : Coût
Référence à : =SOMME(Feuil1!$C1:$F1)

Tu recopies dans ta feuille en lieu et place de ta formule initiale par :
=coût sur toute la colonne.

Si tu n'as pas de formules matricielles complexes, seulement des
formules simples, cela ne devrait pas trop ralentir la saisie de données!

C'est possible d'ajouter les formules au fur et à mesure que le tableau
se remplit en utilisant une macro , mais plus il y aura de données,
moins la macro aura l'effet que tu désires...

MichD
L-A
2020-06-05 21:44:54 UTC
Permalink
Bonsoir MichD

J'avais penser à désactiver le calcul automatique. ce qui est le plus simple
je peux le faire sur toutes les feuilles ? ( et oui Douze mois )

je vais essayer la méthode de la formule. pour mon cas ca sera un somme.si

a voir si ca ne pose pas de soucis

merci et bonne soirée
Post by MichD
Post by L-A
ActiveCell.FormulaR1C1 = "=SUM(RC[-4]:RC[-1])"
Bonjour,
Ce que tu peux faire, utiliser la commande "calcul manuel" pour cette
feuille.
La commande est : Onglet "Formule" du ruban / Options de calcul / Manuel
Cela n'affecte pas le calcul automatique des autres feuilles. Après la
saisie de donnée, tu passes la feuille en calcul automatique lorsqu'il
s'agit de mettre la feuille à jour.
Cela te permet d'inscrire toutes les formules à la création du classeur
et ne pas être importuné par la lenteur de la mise à jour des formules.
Tu peux aussi essayer ceci.
Dans l'exemple que tu donnes, tu as une somme d'une plage de cellules.
Suppose que ta formule est : =SOMME($C1:$F1) que tu répètes sur 200 lignes.
A ) Crée un nom ("Coût") significatif en fonction de ce que représente
=SOMME(Feuil1!$C1:$F1)
Nom : Coût
Référence à : =SOMME(Feuil1!$C1:$F1)
=coût sur toute la colonne.
Si tu n'as pas de formules matricielles complexes, seulement des
formules simples, cela ne devrait pas trop ralentir la saisie de données!
C'est possible d'ajouter les formules au fur et à mesure que le tableau
se remplit en utilisant une macro , mais plus il y aura de données,
moins la macro aura l'effet que tu désires...
MichD
Loading...