Raccourci formule =NumText
vorttex
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
vorttex Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
vorttex Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour, TLM
Je souhaite avoir un racourci d'une formule excel sans l'ecrire ou passé par FONCTION
Exemple : =NumText(D3;"DA";"Cts";2;" et ") ===> (=ALT A)
Cordialement
A bientôt merci
Je souhaite avoir un racourci d'une formule excel sans l'ecrire ou passé par FONCTION
Exemple : =NumText(D3;"DA";"Cts";2;" et ") ===> (=ALT A)
Cordialement
A bientôt merci
A voir également:
- Raccourci formule =NumText
- Formule si et - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Raccourci retourner écran - Guide
- Formule mathématique - Télécharger - Études & Formations
- Raccourci pavé tactile - Guide
2 réponses
Bonjour,
Toutes les explication ici (§ macros) :
https://www.commentcamarche.net/contents/bureautique-871410403
Toutes les explication ici (§ macros) :
https://www.commentcamarche.net/contents/bureautique-871410403
Bonjour,
« Je souhaite avoir un racourci d'une formule » ???
Il est difficile de deviner ce qui doit se passer lorsque tu appuies sur le raccourci (Crtl A) !!!!
De plus, la syntaxe que tu souhaite, =NumText(D3;"DA";"Cts";2;" et "), ne correspond pas à la fonction ci-dessus, il y a un argument en trop et les autres ne sont pas dans le bon ordre.
Je te propose d'utiliser =NumText(D3;"DA";2;"Cts")
Dans tous les cas tu doit écrire une macro qui fait ce que tu désires et y affecter le raccourci.
1ère supposition : Tu voudrais afficher le résultat de la fonction appliquée à la cellule active :
2ème supposition : Tu voudrais écrire le résultat de la fonction appliquée à la cellule active dans la cellule située à sa droite (i.e dans la colonne à coté) :
PS : essaies d'être plus précis dans tes demandes.
Cordialement
Patrice
« Je souhaite avoir un racourci d'une formule » ???
Il est difficile de deviner ce qui doit se passer lorsque tu appuies sur le raccourci (Crtl A) !!!!
De plus, la syntaxe que tu souhaite, =NumText(D3;"DA";"Cts";2;" et "), ne correspond pas à la fonction ci-dessus, il y a un argument en trop et les autres ne sont pas dans le bon ordre.
Je te propose d'utiliser =NumText(D3;"DA";2;"Cts")
Dans tous les cas tu doit écrire une macro qui fait ce que tu désires et y affecter le raccourci.
1ère supposition : Tu voudrais afficher le résultat de la fonction appliquée à la cellule active :
Sub afficheNumText() MsgBox NumText(ActiveCell.Value, "DA", 2, "Cts") End Sub
2ème supposition : Tu voudrais écrire le résultat de la fonction appliquée à la cellule active dans la cellule située à sa droite (i.e dans la colonne à coté) :
Sub InsèreNumText() ActiveCell.Offset(0, 1).Value = NumText(ActiveCell.Value, "DA", 2, "Cts") End Sub
PS : essaies d'être plus précis dans tes demandes.
Cordialement
Patrice
( jai pas crée la macro juste copier coller )
Option Explicit
Function NumText(Nombre As Currency, Optional Unité As String, Optional no_chiffres As Integer, Optional SousUnité As String) As String
Dim PartieEntière As Currency, PartieDécimal As Currency
Dim TxtEntier As String, TxtDécimal As String
PartieEntière = Int(Nombre)
TxtEntier = NumTextEntier(PartieEntière)
If no_chiffres > 0 Then
PartieDécimal = (Nombre - PartieEntière) * 10 ^ no_chiffres
TxtDécimal = Format(PartieDécimal, String(no_chiffres, "0"))
End If
NumText = TxtEntier & Unité & " " & TxtDécimal & " " & SousUnité
End Function
Function NumTextEntier(ByVal Entier As Currency) As String
Dim no_Classe As Integer, Classe As Integer
If Entier = 0 Then
NumTextEntier = "zéro "
Else
While Entier > 0
Classe = Entier - Int(Entier / 1000) * 1000
NumTextEntier = TxtClasse(Classe, no_Classe) & NumTextEntier
no_Classe = no_Classe + 1
Entier = Int(Entier / 1000)
Wend
End If
End Function
Function TxtClasse(Classe As Integer, no_Classe As Integer) As String
Dim Centaine As Integer, Dizaine As Integer, Unité As Integer, Unités2Chiffres As Integer
Dim TxtCentaines As String, TxtDizaines As String, TxtUnités As String
Dim TClasses As Variant, Tdizaines As Variant, TUnités As Variant
TClasses = Array("", "mille", "million", "milliard", "billion")
Tdizaines = Array("", "", "vingt", "trente", "quarante", "cinquante", "soixante", "soixante", "quatre-vingt", "quatre-vingt")
TUnités = Array("", "un", "deux", "trois", "quatre", "cinq", "six", "sept", "huit", "neuf", _
"dix", "onze", "douze", "treize", "quatorze", "quinze", "seize", "dix-sept", "dix-huit", "dix-neuf")
If Classe = 0 Then Exit Function
' Pas de un pour mille
If Classe = 1 And no_Classe = 1 Then
TxtClasse = "mille "
Exit Function
End If
'
Centaine = Classe \ 100
Unités2Chiffres = Classe Mod 100
Dizaine = Unités2Chiffres \ 10
Unité = Unités2Chiffres Mod 10
' Les centaines -----
If Centaine = 1 Then
TxtCentaines = "cent "
ElseIf Centaine > 1 Then
TxtCentaines = TUnités(Centaine) & " cent" & IIf(Unités2Chiffres > 0, " ", "s ")
End If
' Les dizaines ------
TxtDizaines = Tdizaines(Dizaine)
If Unité = 1 And Dizaine > 1 And Dizaine < 8 Then
TxtDizaines = TxtDizaines & "-et"
End If
If Dizaine = 1 Or Dizaine = 7 Or Dizaine = 9 Then
Unité = Unité + 10: Dizaine = 0
End If
TxtDizaines = TxtDizaines & IIf(Unités2Chiffres = 80, "s", "")
If Unités2Chiffres > 19 And Unité > 0 Then
TxtDizaines = TxtDizaines & "-"
ElseIf Dizaine > 0 Then
TxtDizaines = TxtDizaines & " "
End If
' Les unités -------- Espace si unité > 0
TxtUnités = TUnités(Unité) & IIf(Unité > 0, " ", "")
' La classe --------- un s sauf pour mille
TxtClasse = TClasses(no_Classe) & IIf(no_Classe > 1 And Classe > 1, "s", "") & IIf(no_Classe > 0, " ", "")
' Résultat ----------
TxtClasse = TxtCentaines & TxtDizaines & TxtUnités & TxtClasse
End Function