Macro pour recopier une formule

benadry

XLDnaute Occasionnel
Bonjour,


Dans la cellule Excel B12 de mon tableau, j'ai la formule suivante très basique :
Code:
=SI(B13=39;163,48;SI(B13=36;151,12))

Dans la majorité des cas, l'une des deux conditions est remplie. En revanche, il est tout à fait possible que ce ne soit pas réalisé.
Dans ce cas, il faut que l'utilisateur entre lui-même la donnée. Mais, il va écraser la formule qui se trouve en B12.

J'ai déjà une macro qui efface le contenu de certaines cellules quand la valeur d'une cellule contenant un menu déroulant change.

Je voudrais maintenant que quand cette valeur change, la macro remette en B12 le contenu de ma formule.

Cela permettrait à l'utilisateur de taper ce qu'il veut quand l'une des deux conditions n'est pas remplie, puis de "récupérer" la formule à la saisie suivante.

J'espère que je suis clair.

Merci d'avance pour votre aide.

Cordialement.
 

vgendron

XLDnaute Barbatruc
Re : Macro pour recopier une formule

salut,
pas très clair en fait.. et comme pas de fichier joint. ca aide pas..mais bon. avec ceci, ca peut t'aider

dans ton code tu crées la formule sous forme de chaine

Code:
i=13
formule = "=SI(B" & i &"=39;163.48;SI(B" &i &" =36;151.12))"

et à l'endroit choisi dans ta macro
tu fais

Code:
cells(x,y).formulalocal=formule

à essayer...
 

benadry

XLDnaute Occasionnel
Re : Macro pour recopier une formule

Bonjour vgendron,

Désolé de ne pas avoir été plus clair !

C'est certainement pour ça que je ne comprends pas et que je n'ai pas réussi à adapter ta formule !

Voici un fichier Test avec la macro dont je parlais là-haut.

Attention : dans ce fichier, la cellule sur laquelle la macro doit agir n'est pas B12, mais B11.

Mon fichier de test date de quelques jours et, entre temps, le vrai fichier a évolué.

Merci d'avance pour ton aide.
 

Pièces jointes

  • Test(1).xlsm
    55.7 KB · Affichages: 44
  • Test(1).xlsm
    55.7 KB · Affichages: 50
  • Test(1).xlsm
    55.7 KB · Affichages: 53

vgendron

XLDnaute Barbatruc
Re : Macro pour recopier une formule

Bonjour,

petit test d'après ce que j'ai compris:

Si ta formule en B12 te retourne un temps de travail à 39 ou 36, la formule en B11 met une valeur (163.48 ou 151.12)
sinon, il faut mettre une valeur à la main en B11

lorsque tu effaces la valeur en B11, la formule B11 doit revenir..


PS: telle qu'elle est rentrée.. il y a un souci sur le format: pour excel: 39, c'est pas la meme chose que 39:00:00
ce sera à revoir..
 

Pièces jointes

  • Test(1).xlsm
    57.7 KB · Affichages: 37
  • Test(1).xlsm
    57.7 KB · Affichages: 42
  • Test(1).xlsm
    57.7 KB · Affichages: 38

benadry

XLDnaute Occasionnel
Re : Macro pour recopier une formule

Rebonjour,

Je dois être vraiment bouché, mais je ne réussis pas à faire fonctionner ta macro.

En fait, la formule située en B11 fonctionne très bien : soit les valeurs sont saisies automatiquement, soit Excel demande à l'utilisateur de saisir.
En revanche, la partie macro ne fonctionne pas. Si je change de nom dans le menu déroulant après avoir saisi moi-même une valeur en B11, cette valeur demeure.

Merci en tout cas pour ton aide.


Cordialement.
 

benadry

XLDnaute Occasionnel
Re : Macro pour recopier une formule

Bonjour le forum,

Désolé, mais j'ai beau essayer, ça ne marche pas et je tourne en rond.

Comme je veux utiliser cette solution dans beaucoup de cellules de mon classeur, j'ai vraiment besoin de votre aide.

Merci d'avance.

Cordialement.
 

Discussions similaires

  • Résolu(e)
Microsoft 365 pb formule vba
Réponses
15
Affichages
762

Statistiques des forums

Discussions
312 160
Messages
2 085 837
Membres
102 998
dernier inscrit
billABDELL