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.
@+
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 ?
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.
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