XL 2016 formules sous VBA

marc94600

XLDnaute Occasionnel
Bonjour,
Dans mon tableau, j'ai différente formule et je souhaiterai savoir s'il n'y a pas possibilité de les mettre en programmation (vba) au lieu qu'elle soit effaçable par des personnel qui manipule mon tableau...
Exemple :
1er cas feuille : "En cours à partir de 2019", colonne C : j'ai la formule : =SIERREUR(INDEX(CU_2024!$A$2:$B$6331;EQUIV($B2;CU_2024!$A$2:$A$6331;0);2);"")
2 ème cas : feuille : "En cours à partir de 2019" : colonne D : =SIERREUR(RECHERCHEV(C2;HPM_ARCHIVES!$C$2:$Q$5;15;FAUX);"")
3 ème cas : feuille : "En cours à partir de 2019" : colonne I : =SIERREUR(RECHERCHEV(B2;HPM_ARCHIVES!$B$2:$AZ$5;50;FAUX);"")

voila, serait il donc possible d'avoir c'est 3 formules dans une programmation VBA ?

merci à vous tous
marc
 

Pièces jointes

  • DOUBLONS 03-04-2024 + MACRO.xlsm
    190.5 KB · Affichages: 9
Solution
Hello
en PJ la méthode que j'utilise quasi systématiquement
1) je créé la formule sous forme de string en ANGLAIS
Formule="........"
2) j'applique la formule à sa place

dans ton fichier, j'ai
1) créé des tables structurées
2) modifié tes formules pour y faire référence

la Macro s'appelle "ReplaceFormules"

wDog66

XLDnaute Occasionnel
Bonjour marc94600

Pour votre demande, il suffit de vous servir de l'enregistrement de macros
Menu Développeur -> Enregistrer une macro

Si vous n'avez pas le menu, voilà comment faire

Ensuite, une fois l'enregistreur lancé, vous vous mettez sur les formules en question
F2 pour entrer en mode édition + Entrée

Vous arrêtez l'enregistreur
ALT+F11 pour aller dans l'éditeur VBA, vous aurez un module avec le code

A+
 

Oneida

XLDnaute Impliqué
Bonjour a tous

marc94600

Vous devez avoir ceci pour C2, mais il faut pour les autres colones etc...
VB:
Sub Macro2
'
' Macro2 Macro
'

'
    Range("C2").Select
    ActiveCell.FormulaR1C1 = _
        "=IFERROR(INDEX(CSO!R2C1:R6331C2,MATCH(RC2,CSO!R2C1:R6331C1,0),2),"""")"
    Range("C3").Select
End Sub

Mais je ne vois pas en quoi cela "securise" vos colonnes et surtout a quel moment ca va s'ecrire dans les cellules des colonnes
De plus il y a des forumules dans d'autres colonnes et la pas besoin!

Maintenant la question est:
est ce que vous voulez l'equivalent de ces forumules en VBA dont le code mettrait la valeur dans les cellules ?

Comprends pas vraiment!
 

marc94600

XLDnaute Occasionnel
Bonjour,
En effet vous avez compris ma démarche .
En gros, nous sommes plusieurs à travailler sur le même tableau de données mais certain font des copier coller de leur propre tableau ce qui nous donne ensuite des formules qui font référence à leur tableau (complexe mais c'est le cas ) J'ai beau demandé de faire des copier de données uniquement mais ça ne sert à rien ...
donc je souhaiterai pouvoir figer ces formule sans qu'ils puissent y toucher même après un coller.
j'ai pris uniquement c'est 3 formules car ce sont les seules qui posent problème
 

vgendron

XLDnaute Barbatruc
Hello
en PJ la méthode que j'utilise quasi systématiquement
1) je créé la formule sous forme de string en ANGLAIS
Formule="........"
2) j'applique la formule à sa place

dans ton fichier, j'ai
1) créé des tables structurées
2) modifié tes formules pour y faire référence

la Macro s'appelle "ReplaceFormules"
 

Pièces jointes

  • DOUBLONS 03-04-2024 + MACRO.xlsm
    196.7 KB · Affichages: 5

Discussions similaires

Réponses
9
Affichages
383
Réponses
8
Affichages
510
Réponses
22
Affichages
1 K

Statistiques des forums

Discussions
313 928
Messages
2 103 632
Membres
108 739
dernier inscrit
titoooo428