mise en place de formule uniquement si une cellule est remplie

1 réponse
Avatar
L-A
Bonjour

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

N=C3=A9anmoins, cette formule ne sert =C3=A0 rien si aucune cellule de la l=
igne en question n'est renseign=C3=A9e.

Cela alourdi donc mon classeur !!

Est il possible que dans ces fameuses 5 derni=C3=A8res colonnes ou sont cen=
s=C3=A9es =C3=AAtre mes formules, de ne les inscrire uniquement si une cell=
ule de la ligne consid=C3=A9r=C3=A9 (plage) est renseign=C3=A9e

j'ai bien tent=C3=A9 ce mais ca calcul le classeur entier

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


merci de votre aide

1 réponse

Avatar
MichD
Le 05/06/20 à 16:53, L-A a écrit :
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