XL 2010 Calcul formules matricielles de plusieurs cellules sur VBA

Fugy

XLDnaute Occasionnel
Bonjour à tous,

Je suis en cours de réalisation d'un tableau avec plusieurs cellules comprenant des formules matricielles.
Je souhaite être certain que ces formules soient "verrouillées" ou recalculées régulièrement afin d'éviter une mauvaise valeur que je ne verrais pas...

La difficulté est de ne pas pouvoir verrouiller les cellules car je souhaites réaliser des copier/coller de ligne => ligne 12 copier sous ligne 13 pour création d'une nouvelle affaire. Cette ligne comprend une formule matricielle (qui serait verrouillé) est donc l'insertion est impossible.

C'est pourquoi je vois la faisabilité de pouvoir refaire les calculs matricielles par VBA de l'ensemble des cellules ou de plusieurs colonnes entières.
A noter :
- réaliser ce calcul sur l’ensemble des cellules, même si pas de matrice ?
- ATTENTION les dénominations des cellules peuvent bougé suite à des copier coller. Elles ne sont pas figé à 1 endroit => M20 peut se retrouver à M78 ect...
- pas de possibilité de verrouiller les cellules car je souhaites réaliser des copier/coller de ligne => ligne 12 copier sous ligne 13 pour création d'une nouvelle affaire
- si besoin, possible de calculer toutes les formules matricielles d'une colonne et je déplacerais les formules (exemple toute la colonne K, puis la colonne AN ...)

En PJ l'extrait du programme avec explications.
Merci d'avance pour votre aide.
@+
 

Pièces jointes

  • Extrait prog formule calcul3.xlsm
    33.7 KB · Affichages: 18

Dranreb

XLDnaute Barbatruc
Bonsoir.
Vous pouviez quand même utiliser des formules plus simples :
En M20 :
Code:
=SOMME(DECALER($N$13;0;MOIS($C$3)):$Z$13)
En M21 :
Code:
=SOMME(DECALER($N$13;0;MOIS($C$3);1;6))
En M22 :
Code:
=SOMME(DECALER($N$13;0;MOIS($C$3);1;12))
Pour une ligne de formules de totaux qui suit les insertions de lignes je ne peux que vous conseiller de tout mettre sous forme de tableau Excel
 

Fugy

XLDnaute Occasionnel
Bonjour,

Merci de ton retour.
Effectivement c'est plus simple comme formule :).
Concernant la colonne K7 il faudrait donc que je réalise une somme décaler mais non pas de gauche à droite mais de droite à gauche pour enlever les calculs matriciels. J'ai tenté de modifier la formule Somme Décaler sans succès ....
Une idée :) ?

@+
 

Dranreb

XLDnaute Barbatruc
Une somme est une somme. Elle porte sur un ensemble d'un certain nombre de cellules à partir d'une certaine cellule. Elle ne se fait pas spécialement de gauche à droite ni de droite à gauche. Je ne vois pas ce que vous voulez dire.
 

eriiic

XLDnaute Barbatruc
Bonjour à tous,

pour protéger des cellules, tu peux aussi empêcher leur sélection :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, [K:K,M:M,AN:AN]) Is Nothing Then Cells(Target.Row, 9).Select
End Sub
Comme tu n'as pas de formule à gauche des colonnes à protéger tu peux sélectionner dans la colonne précédente aussi.
eric
 

Discussions similaires

  • Question
Microsoft 365 Tableau
Réponses
24
Affichages
894

Statistiques des forums

Discussions
315 096
Messages
2 116 181
Membres
112 677
dernier inscrit
Justine11