Valider toutes les formules matricielles

Fermé
IGG73 - 28 nov. 2017 à 12:04
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 30 nov. 2017 à 18:17
Bonjour,

Petite question : j'ai un fichier excel qui contient plusieurs fonction matricielle (une petite centaine).
Il y a t-il un moyen de toutes les valider d'un coup, plutot que de me taper les 100 lignes en faisant Ctrl + Maj + Entrée ?

Merci d'avance,

3 réponses

eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
28 nov. 2017 à 15:33
Bonjour,

met tes formules en validation normale puis sélectionne la plage avant de lancer cette macro :
Sub fMat()
    Dim c As Range
    For Each c In Selection
        c.FormulaArray = c.Formula
    Next c
End Sub

eric

0
Merci beaucou Eric pour ton aide.

Cependant, j'ai une erreur en faisant ta manipulation : "Erreur d'execution 1004" " Impossible de définir la propriété FormulaArray de la classe Range".

Par ailleurs, si cela peut aider, j'ai 4 plages contenant des formules matricielles. Les voici :
C64:C85
C89:C110
C142:C163
C167:C188

Saurais-tu me dépanner ?

Merci encore :)
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
28 nov. 2017 à 19:45
Bah , j'ai testé avant de poster.
Dépose un fichier avec l'anomalie que je vois, cjoint.com et coller ici le lien fourni.

Tu peux faire une sélection multiple, la macro traitera toutes les cellules individuellement.
eric
0
Bonjour Eric,

Merci pour ta réponse. Voici mon fichier : http://www.cjoint.com/c/GKDiekNevQY

L'onglet qui t'intéresse est l'onglet "Calepinage". Dans cet onglet calepinage, mes formules matricielles se trouvent dans les plages suivantes :
C64:C85
C89:C110
C142:C163
C167:C188

Alors effectivement, j'ai déjà activé les formules manuellement, une par une... Mais quand mon fichier est ouvert par un autre PC, bah il faut tout (ou presque) revalider avec CTRL+MAJ+Entrée... Tu vois un peu comme cela est long et fastidieux ^^

Je te remercie d'avance si tu trouves une solution à mon problème.

Bonne journée,
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
Modifié le 30 nov. 2017 à 18:20
Bonjour,

Ta formule est trop longue. Apparemment pour vba c'est limité à 250 caractères, tu en as 285.

Mais quand mon fichier est ouvert par un autre PC, bah il faut tout (ou presque) revalider avec CTRL+MAJ+Entrée...
Ce n'est pas normal, aucune raison qu'excel fasse ça (à moins d'un nouveau bug sur 2016 ?). Tu es sûr que ce n'est pas une de tes macro qui met le bazar ?
Sinon tu peux essayer en mettant la formule dans un nom. Par défaut une telle formule est matricielle, Dans la cellule tu mets =nom_de_ta_formule, pas la peine de valider en matricielle. Par contre se méfier des références relatives, qui dépendent de la cellule active lors de la création du nom.

Et fait le ménage dans tes modules. 23 à ouvrir, dont les 3/4 vides, pour retrouver une macro ce n'est pas terrible. Un ou 2 suffisent.
eric
0

Discussions similaires