Détermination du symbole monétaire d’un format (Microsoft Excel)
Jelmer fonctionne avec de nombreuses données financières et les informations contenues dans une feuille de calcul peuvent être en devises de nombreux pays. Le seul moyen de les distinguer est le symbole monétaire utilisé pour formater la cellule. Par exemple, une cellule peut être formatée pour utiliser le symbole monétaire « EUR » ou « SEK ». Jelmer se demande s’il existe un moyen, dans une formule, de déterminer le symbole monétaire utilisé pour formater une cellule donnée.
Il n’y a pas de fonction de feuille de calcul intrinsèque dans Excel qui retournera ce que vous recherchez, il n’est donc pas possible de le faire dans une formule. Vous pouvez cependant créer votre propre fonction définie par l’utilisateur qui renverra les informations souhaitées. Voici un exemple:
Function GetCurrency(rCell As Range) As String Dim sTemp As String Dim sKeep As String Dim sThrowAway As String Dim J As Integer Application.Volatile sKeep = "Not a Numeric Value" If IsNumeric(rCell) Then sThrowAway = "0123456789.,()+- ]" sTemp = rCell.Text sKeep = "" For J = 1 To Len(sTemp) If InStr(sThrowAway, Mid(sTemp, J, 1)) = 0 Then sKeep = sKeep & Mid(sTemp, J, 1) End If Next J End If GetCurrency = sKeep End Function
Pour utiliser la fonction, vous utiliseriez ce qui suit, en supposant que vous vouliez le symbole monétaire pour tout ce qui se trouve dans la cellule B7:
=GetCurrency(B7)
Cela fonctionne car la propriété .Text d’une cellule renvoie la version formatée de tout ce qui se trouve dans la cellule. En supposant que la cellule contient une valeur numérique (la fonction teste cela), le texte formaté est affecté à la variable sTemp. Ensuite, chaque caractère de ce texte est comparé à ce qui se trouve dans la chaîne sThrowAway. S’il y a une correspondance, le caractère est ignoré, sinon il est ajouté à la variable sKeep.
C’est ce qui est renvoyé par la fonction.
Notez également que si la cellule en cours d’évaluation ne contient pas de valeur numérique, un message d’erreur (« Pas une valeur numérique ») est renvoyé.
Il y a une chose à savoir avec la fonction: Si vous modifiez le formatage d’une cellule cible, cela ne déclenche pas la macro. Cela semble être une lacune d’Excel lui-même: cela ne déclenche pas un recalcul de la feuille de calcul lorsque vous modifiez un format, de sorte que la macro elle-même n’est pas déclenchée.
Cependant, il se déclenchera la prochaine fois que vous apporterez une modification à la feuille de calcul qui nécessite un nouveau calcul.
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (13787) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365.