Ajout de texte automatique

Fermé
tauxchange - 18 mai 2015 à 23:28
 tauchange - 19 mai 2015 à 21:42
Bonjour !
Travaillant actuellement sur un excel pour préparer un voyage, je souhaiterai savoir si il est possible d'ajouter automatiquement du texte et une formule après une saisie dans une case excel s'il vous plait ?
Je m'exprime un peu mieux :
Sur une plage de cellules définies,
J'entre 1500 dans une cellule et je tape sur entrée, et il m'afficherai :
1500 ¥ (11€)

Ou 11€ correspond au calcul du change de 1500 yen avec le taux de change actuel, en sachant que j'ai déjà une cellule comportant le taux de change YEN/EURO.

Merci de votre aide !

3 réponses

Raymond PENTIER Messages postés 58649 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 17 septembre 2024 17 197
19 mai 2015 à 02:24
Bonjour.

Je ne vois pas l'intérêt que tu aurais à mettre tous ces renseignements dans une même cellule, alors que c'est tellement facile de les avoir dans deux colonnes voisines ! Les calculs sont simples, il n'est pas nécessaire de passer par une macro ou une concaténation, la lecture est immédiate, et les résultats peuvent entrer dans des opérations (somme, moyenne, rang ...) et des manipulations (tri, filtre, recherche ...).

Mais si tu y tiens, via55 t'a proposé un excellent exercice pour appliquer (ou découvrir) VBA à travers une macro.

Cordialement.
3
via55 Messages postés 14473 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 13 septembre 2024 2 728
19 mai 2015 à 00:54
Bonjour

Par Format personnalisé ou par par formule non mais à l'aide d'une macro qui se déclenche au double-clic dans une cellule

Copier et coller cette macro dans le Worksheet de la feuille concernée (ALT+F11 pour ouvrir l'éditeur VBA, double-cliquer sur la feuille concernée dans l'arborescence, copier et coller la macro dans la partie blanche à droite)
Adapter la macro pour la plage de cellules et pour la cellule comportant le taux de change (plage B4:B8 et cellule D1 dans la macro exemple)

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
' si double clic dans la plage B4:B8
If Not Intersect(Target, Range("B4:B8")) Is Nothing Then
' fenêtre demande de la valeur
nb = InputBox("Indiquer la valeur à entrer")
'inscription du texte dans la cellule cible en focntion du taux de change existant en D1
Target.Value = nb & " " & Chr(165) & " (" & nb * Range("D1") & " €)"
End If
End Sub


Mais attention ce qui est inscrit dans la cellule est du texte et non plus un simple nombre et ne peux pas être utilisé dans des calculs par le suite

SI tu veux pouvoir utiliser le nombre entré dans des calculs il faut deux cellules côte à côte : une première où on entre le nombre et par format personnalisé on fait afficher le nombre avec le signe Yen au lieu du signe €; et une seconde dans laquelle on fait afficher la correspondance calculée avec la formule (si le nombre entré est par ex en B2) :
= "(" & B2 * $D$1 & ")"

Cdlmnt
Via
1
Merci à tous les deux pour vos réponses !
C'est vrai que je n'avais pas pensé au fait que cela ne serait plus un nombre mais une chaine de caractères.
Je vais me servir de ta macro via55 et je verrai si, comme l'a suggéré Raymond, cela n'est pas plus simple de passer par deux colonnes :)
Bref, en tout cas merci !
0