VBA - remplacer une formule rechercheV par sa valeur si résultat = " x"

Bonjour à tous ,

Je suis novice en VBA et je souhaiterais donc avoir votre aide précieuse afin de rédiger un macro

J'ai un fichier dans lequel j'ai une de nombreux rechercheV et je voudrais donc éviter de l’alourdir en remplaçant par leur valeur les rechercheV qui me raménent le résultat attendu .

Donc ma formule est la suivante : =SI([@[Contrôle Final]]="";"";SIERREUR(RECHERCHEV([@[Contrôle Final]];$AL$34:$AM$35;2;);""))

A chaque fois que cette formule va me ramener le résultat " Validé " il faudrait que ce soit remplacé par sa valeur à condition que dans la cellule de droite il soit écrit "OK"

En gros ; si résultat de mon recherchev =" Validé "et que dans la cellule juste à côté c'est écrit "OK" , alors il faut remplacer la forme par sa valeur

Je ne suis pas sur d'être trés clair ....

Merci d'avance si quelqu'un me comprend et peut m'aider lol :-)

Bonsoir Sunset, effectivement ce serait plus clair avec un fichier.

18remplace.xlsx (11.52 Ko)

donc j'ai joint un fichier

En fait quand en colonne 3 le recherche v trouve = contrôle ok et en colonne 2 il trouve " Validé" , j'aimerais qu'une marcro remplace les formules par leurs valeurs pour ces cellules uniquement

Heu , je ne suis toujours pas sur d'être clair ... lol

Je ne veux plus qu'un recherche v soit lancé si j'ai atteint mon objectif , c'est a dire un contrôle validé :-)

Bonjour à tous!

Sunset974, voici ton fichier modifié vois si cela te convient...

Bonne journée!

16sunset974.xlsm (17.39 Ko)

Bonsoir, Nordik_Nation,

Ci joint un fichier qui fait ce qui est demandé, bien que l'idée même de mettre des valeurs différentes des formules prévues dans un tableau structuré ne soit pas la "meilleur" :

11remplace-lrd.xlsm (15.67 Ko)

Le fichier est donc basée sur une capacité des tableaux structurés, c'est à dire d'ajouter une ligne à ce tableau dès que l'on ajoute une donnée sur la première ligne vide sous le tableau. Dans votre cas cette cellule sera la colonne A où vous inscrirez le numéro "Contrôle Final", dès lors une ligne s'ajoute au tableau avec recopie de la formule dans chaque colonne, et cette recopie se fait avec la première formule inscrite dans cette colonne même si cette dernière n'existe plus "réellement" dans la colonne ! L'évènement "Calculate" est utilisé afin de lancer le code de modification en scannant chaque ligne du tableau structuré.

Le fichier est fourni sans "lignes" mais les formules ont été entrées une fois, donc elles sont en mémoire. Pour preuve il suffit d'entrer "1" en colonne A, alors les valeurs s'affiche, ainsi que les formules. Ces dernières sont remplacées par le code, mais pour le voir il faut mettre un point d'arrêt afin de faire un pas à pas.

@ bientôt

LouReeD

Bonjour le forum,

Sunset j'ai créé un code pour être au plus prêt de ce que vous désirez à mon avis sans tenir compte de l'utilité de la procédure. Mon code fonctionne bien

6remplace.xlsm (20.87 Ko)

mais j'aimerai qu'un pro du vba m'explique pour quelle raison j'ai dû créer deux boucles For Next pour effectuer les instructions. Je ne suis pas arrivé à les rassembler dans une seul boucle. C'est curieux.

Merci beaucoup ; ça marchait impec jusqu'à ce que j'ajuste la macro à mon fichier final , ci-joint

ta solution est vraiment ce qui pouvait m'aider , mais là je ne sais pas pourquoi ça ne veut plus fonctionner :-(

6work.xlsm (67.05 Ko)

Il y avait un problème de protection des cellules à modifier.

15work.xlsm (71.87 Ko)

J'ai modifier un petit peu le code en intégrant la deuxième instruction dans la boucle et en modifiant les conditions

Bonsoir,

petite erreur sur le fichier fourni...

Deuxième tentative :

51remplace-lrd.xlsm (16.29 Ko)

@ bientôt

LouReeD

Yessss , ça marche très bien :-) Milles Merci LouReeD

Bonjour,

Merci pour vos mille remerciements ! Bon je trouve que ça fait un peu trop mais je les prends, je m'en servirai pour les fois où j'en ai pas !

Reste que je ne trouve pas cela "académique"!

@ bientôt

LouReeD

Rechercher des sujets similaires à "vba remplacer formule recherchev valeur resultat"