Valider toutes les formules matricielles

IGG73 -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
  2. IGG73
     
    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
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      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
  3. IGG73
     
    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
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      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