Tableau - modifier formule sans changer les valeurs "en dur"

12cashbook-test.zip (491.95 Ko)

Bonjour à tous,

Je reprends un fichier conçu il y a longtemps et sur lequel j'ai besoin de mettre à jour des formules à l'intérieur d'un tableau. Je ne peux malheureusement pas me servir bêtement de la fonctionnalité de remplacement automatique des formules car dans de nombreuses cellules j'outrepasse la formule via une sélection dans une liste (validation des données).

La colonne est donc remplie de valeurs résultant d'une formule et de valeurs "en dur".

J'ai donc besoin de mettre à jour la formule uniquement dans les cellules qui en contiennent une ET dans la formule copiée automatiquement à la création d'une nouvelle ligne.

Rechercher/remplacer la formule ne fonctionne pas car cela ne met pas à jour la formule pré-enregistrée. Filtrer les valeurs non voulues (par exemple avec un marquage de couleurs, bien que non réaliste vu la masse de données) n'exclue pas les cellules filtrées de la mise à jour de la formule.

Pour ce qui est de VBA, j'avoue être complètement à la ramasse sur ce sujet et ne pas savoir par où démarrer.

Un grand merci par avance si vous avez des idées ou suggestions.

Dans le fichier joint, la colonne (ou plutôt une des colonnes) qui me pose ce problème est "Grant Analytics" (colonne Z)

Bonjour

Une cherche et remplace sur des formules fonctionne parfaitement si les termes recherchés ou remplacés dans les formules n'existent pas dans les cellule sans formules... mais ici c'est le cas.

Mélanger dans une colonne de tableau structuré formules et saisie provoque souvent des anomalies. Cela est totalement déconseillé...

Plutôt que de bricoler en VBA pour conserver cela, il serait préférable de restructurer le tableau pour éviter ce mélange sur Z et AA

Bonjour, merci pour votre commentaire,

Une cherche et remplace sur des formules fonctionne parfaitement si les termes recherchés ou remplacés dans les formules n'existent pas dans les cellule sans formules... mais ici c'est le cas.

Je ne comprends pas ceci sur les deux points: 1. J'ai tenté le rechercher/remplacer, ce qui fonctionne mais ne met pas à jour la formule pré-enregistrée dans le tableau: c'est le cas de la dernière ligne, recréée après l'opération rechercher/remplacer. 2. Il n'y a pas de valeurs textuelles communes entre la syntaxe de la formule et les valeurs intégrées à la main donc cela n'est a priori pas un problème.

Mélanger dans une colonne de tableau structuré formules et saisie provoque souvent des anomalies. Cela est totalement déconseillé...

Plutôt que de bricoler en VBA pour conserver cela, il serait préférable de restructurer le tableau pour éviter ce mélange sur Z et AA

Certes, mais je ne peux pas toujours tout automatiser et des choix et décisions de gestion peuvent s'imposer qui contreviennent à l'algorithme mis en place. Donc peu importe comment je restructurerai, j'aurai besoin de mélanger au même endroit de l'automatique en formule et du manuel.

Sur un plan plus pratique, j'imagine qu'il me serait possible de couper toutes les lignes manuelles pour les stocker ailleurs le temps de mettre à jour la formule puis de les réinsérer.

Pour ça j'ai besoin de pouvoir filtrer les lignes ne contenant pas de formule mais je ne sais pas comment y arriver, le filtre de base ne s'appliquant à ma connaissance que sur les valeurs. Une idée?

D'avance merci.

RE

La formule automatique est issue de l'origine du tableau : le mélange saisie/formules casse l'automatisme qu'on ne peut pas retrouver.
Si la formule est homogène sur toute la colonne, elle est stockée dans Formula.Array mais cette propriété passe à null dès qu'une cellule déroge.
Ce qui est curieux c'est qu'elle doit être aussi stockée ailleurs car elle n'est pas "oubliée" et réapparait à l'ajout de lignes...

Pour un fonctionnement optimum il faudrait 3 colonnes pour ce type de cas :

  1. formule sur toute la colonne
  2. saisie ou non sur la seconde
  3. formule sur la troisième colonne prenant la valeur de la seconde et à défaut de la 1ère : ce qui donnerait les résultats actuels sans casser la logique des formules
Rechercher des sujets similaires à "tableau modifier formule changer valeurs dur"