Changer d'unité dans la meme cellule

Bonjour,

Voilà j'aimerai savoir si c'est possible de garder l'unité de la cellule résultat !

Voir fichier exemple

23exemple.xlsx (9.56 Ko)

A1 est en OR

A2 est en ELIXIR

ceux si sont bien des unités personnalisée (#.## "OR" et #.## "ELIXIR)

j'aimerai dans la cellule B1 que si c'est =A1 cela donne OR et si =A2 cela donne ELIXIR.

Il faut absolument que cela soir unitaire car par la suite B1 pourrais être dans une fonction mathématique (avec condition or+or et jamais or+elixir ) des pommes avec des pommes

cela est il possible ?

Merci

Tu vas devoir passer par une fonction personnalisée....

Function trouveformat(Cell as Range) as String
   trouveformat = cell.NumberFormat
End Function

Il te suffira de faire:

=si(droite(trouveformat(A1);3)="OR""";"c'est de l'or";"c'est de l'elixir)

ca marche pas ? enfin je n'y arrive pas !

ton code je le copie dans macro ?

puis je copie ta formule dans la barre de Fx


ca marche pas ? enfin je n'y arrive pas !

ton code je le copie dans macro ?

puis je copie ta formule dans la barre de Fx

Tu crées un module et tu mets la fonction personnalisée dedans et puis dans la barre de formules tu mets

=si(droite(trouveformat(A1);3)="OR""";"c'est de l'or";"c'est de l'elixir") j'avais une faute

OK mais c'est pas du tout ce que je veux

Je veux que 50 or (c'est comme si c'était 50€) (or=€) c'est bien en format monétaire personnaliser qu'est la cellule A1.

et que donc B1 peux aussi bien être 50 or que 50 élixir (50£ si tu préfère)

que par exemple si A1=50 or et A2= 150 or B1 (=somme(A1+A2)) ferai 200 or

et que si c'est A1= 50 or et A2=150 elixir B1 donne "erreur"

et que si A1= 50 elixir et A2=150 elixir B1 donne 200 elixir

attention car cela fais aller dans un fichier avec des listes déroulante avec des recherchv ce qui veux dire que sur feuil2 A1=A1 ou A2 .....

je sais pas si c'est plus claire ?

Function trouveformat(cell1 as Range,cell2 as range) as String
if cell1.NumberFormat = cell2.numberformat then
trouveformat = cell1.value+cell2.value
else
trouveformat="erreur"
end if
End Function

je n'y arrive pas !

il y a pas moyen avec des fonction plutôt que de la macro style

si le format de la cellule est de type #.## or alors si vrai le format est #.## or si faut le format est #.## elixire

non

bon ca marche sauf que cela fait juste la somme et ce serai bien que cela face (A1+B1)"OR" si c'est OR mais ca c'est pour après les condition.

Function trouveformat(cell1 as Range,cell2 as range) as String
if cell1.NumberFormat = cell2.numberformat then
trouveformat = cell1.value+cell2.value
activecell.numberformat =cell2.numberformat
else
trouveformat="erreur"
end if
End Function

Pas sur que ça marche

J'ai après plusieurs jours trouver la solution voir fichier

voici la formule ( plus simple à comprendre avec le fichier lol)

=SI(EXACT(DROITE(E1;(NBCAR(E1))-(NBCAR(GAUCHE(E1;TROUVE(" ";E1)-1))));DROITE(E2;(NBCAR(E2))-(NBCAR(GAUCHE(E2;TROUVE(" ";E2)-1)))));((GAUCHE(E1;TROUVE(" ";E1)-1)-GAUCHE(E2;TROUVE(" ";E2)-1))&DROITE(E1;(NBCAR(E1))-(NBCAR(GAUCHE(E1;TROUVE(" ";E1)-1)))));"IMPOSSIBLE")

Rechercher des sujets similaires à "changer unite meme"