XL 2016 Comment connaître le séparateur de liste de l'utilisateur ?

mxdktm

XLDnaute Nouveau
Bonjour,

J'aurais besoin d'une commande VBA qui me renvoie l'identifiant du séparateur de liste de l'utilisateur (qui se modifie via le panneau de configuration).
L'idée est de savoir si l'utilisateur doit utiliser des points-virgules ou des virgules dans ses formules Excel.

Merci d'avance pour vos retours !
 

vgendron

XLDnaute Barbatruc
Bonjour

si tu connais son nom en vba, tu peux utiliser ce code à adapter
Sub test()
MsgBox "le séparateur décimal est: " & Application.DecimalSeparator
End Sub

par contre, il me semble que dans les formules excel, c'est toujours le point-virgule qui doit etre utilisé
mais si tu ecris une formula par l'intermédiaire de VBA les ; deviennent des ,
 

mxdktm

XLDnaute Nouveau
Bonjour

si tu connais son nom en vba, tu peux utiliser ce code à adapter
Sub test()
MsgBox "le séparateur décimal est: " & Application.DecimalSeparator
End Sub

par contre, il me semble que dans les formules excel, c'est toujours le point-virgule qui doit etre utilisé
mais si tu ecris une formula par l'intermédiaire de VBA les ; deviennent des ,
C'est exactement ce qu'il me fallait, merci beaucoup !
 

vgendron

XLDnaute Barbatruc
C'est exactement ce qu'il me fallait, merci beaucoup !
???
toi tu parlais du séparateur de listes dans les formules.
moi je t'ai donné pour exemple le séparateur décimal..

comme l'indique Job75 (qui a disparu de ce post???), selon la version d'excel US ou FR) ca peut changer
peut etre ici
 

mxdktm

XLDnaute Nouveau
???
toi tu parlais du séparateur de listes dans les formules.
moi je t'ai donné pour exemple le séparateur décimal..

comme l'indique Job75 (qui a disparu de ce post???), selon la version d'excel US ou FR) ca peut changer
peut etre ici
Désolée je suis fatiguée ! J'ai testé, ça m'a renvoyé ce que j'attendais (en plus même pas) et je n'ai pas cherché plus loin !
Effectivement, ça renvoie les séparateurs décimaux.
Je n'ai pas le nom en vba des séparateurs de liste.
 

vgendron

XLDnaute Barbatruc
De ce que j'ai pu lire ca et la sur google, la question qu'il faut poser c'est
"pourquoi as tu besoin de connaitre le séparateur de liste"?

à priori, dans ton fichier, tu as tapé des formules avec le bon séparateur..
je présume que si tu envoies ce fichier dans un pays ou le séparateur n'est pas le meme, excel a fait le taf de "convertir"
ou alors, je donne des compétences à Excel qu'il n'a pas..;)

et de ce que j'ai lu également. c'est une TRES MAUVAISE idée de vouloir changer ce séparateur...
 

mxdktm

XLDnaute Nouveau
De ce que j'ai pu lire ca et la sur google, la question qu'il faut poser c'est
"pourquoi as tu besoin de connaitre le séparateur de liste"?

à priori, dans ton fichier, tu as tapé des formules avec le bon séparateur..
je présume que si tu envoies ce fichier dans un pays ou le séparateur n'est pas le meme, excel a fait le taf de "convertir"
ou alors, je donne des compétences à Excel qu'il n'a pas..;)

et de ce que j'ai lu également. c'est une TRES MAUVAISE idée de vouloir changer ce séparateur...
J'ai besoin de connaître le séparateur de liste parce que je développe une application complexe qui nécessite de stocker des formules Excel sous forme de texte, et qui est utilisée par des utilisateurs ayant des réglages système différents.
Je dois donc "traduire" les formules moi-même puisqu'Excel ne le fait que pour les formules interprétées.
 

Phil69970

XLDnaute Barbatruc
Bonjour à vous 2

Comme aide tu as ceci ......


Application.International, propriété


Référence du développeur Excel​
Application.International, propriété
Renvoie des informations relatives aux paramètres de pays/région et internationaux en cours. Type de données Variant en lecture seule.
Syntaxe


expression.International(Index)



expression Variable qui représente un objet Application.


Paramètres


NomObligatoire/FacultatifType de donnéesDescription
IndexFacultatifVarianteIl peut s'agir de l'une des constantes XlApplicationInternational répertoriées dans les tableaux suivants.

Remarques

Accolades et crochets



IndexTypeSignification
xlLeftBraceChaîneCaractère utilisé à la place de l'accolade gauche ({) dans les littérales de tableaux.
xlLeftBracketChaîneCaractère utilisé à la place du crochet gauche ([) dans les références relatives de style R1C1.
xlLowerCaseColumnLetterChaîneRéférence de colonne en minuscules.
xlLowerCaseRowLetterChaîneRéférence de ligne en minuscules.
xlRightBraceChaîneCaractère utilisé à la place de l'accolade droite (}) dans les littérales de tableaux.
xlRightBracketChaîneCaractère utilisé à la place du crochet gauche (]) dans les références relatives de style R1C1.
xlUpperCaseColumnLetterChaîneRéférence de colonne en majuscules.
xlUpperCaseRowLetterChaîneRéférence de ligne en majuscules (pour les références de style R1C1).

Paramètres de pays/région


IndexTypeSignification
xlCountryCodeEntier longVersion de pays/région de Microsoft Excel.
xlCountrySettingEntier longParamètre de pays/région sélectionné dans le Panneau de configuration Windows.
xlGeneralFormatNameChaîneNom du format numérique Standard.

Monnaie


IndexTypeSignification
xlCurrencyBeforeBooléenTrue si le symbole monétaire précède la valeur, False s'il suit la valeur.
xlCurrencyCodeChaîneSymbole monétaire.
xlCurrencyDigitsEntier longNombre de décimales à utiliser dans les formats monétaires.
xlCurrencyLeadingZerosBooléenTrue si des zéros sont affichés à gauche pour des valeurs monétaires nulles.
xlCurrencyMinusSignBooléenTrue si les nombres négatifs sont indiqués par un signe moins, False s'ils sont indiqués par des parenthèses.
xlCurrencyNegativeEntier longFormat monétaire pour les valeurs monétaires négatives :
0 = ( symbolex) ou (x symbole)
1 = - symbolex ou -x symbole
2 = symbole-x ou x- symbole
3 = symbolex- ou x symbole-
symbole correspond au symbole monétaire du pays ou de la région. La position du symbole monétaire est déterminée par la variable xICurrencyBefore.
xlCurrencySpaceBeforeBooléenTrue si un espace est ajouté devant le symbole monétaire.
xlCurrencyTrailingZerosBooléenTrue si des zéros sont affichés à droite pour des valeurs monétaires nulles.
xlNoncurrencyDigitsEntier longNombre de décimales à utiliser dans les formats non monétaires.

Date et heure


IndexTypeSignification
xl24HourClockBooléenTrue pour le format 24 heures, False pour le format 12 heures.
xl4DigitYearsBooléenTrue si les années comportent quatre chiffres, False si elles comportent deux chiffres.
xlDateOrderEntier longOrdre des éléments de la date :
0 = mois-jour-année
1 = jour-mois-année
2 = année-mois-jour
xlDateSeparatorChaîneSéparateur de date (/ ).
xlDayCodeChaîneSymbole du jour (j).
xlDayLeadingZeroBooléenTrue si un zéro est affiché à gauche dans les jours.
xlHourCodeChaîneSymbole des heures (h).
xlMDYBooléenTrue si la date complète utilise l'ordre mois-jour-année, False si elle utilise l'ordre jour-mois-année.
xlMinuteCodeChaîneSymbole des minutes (m).
xlMonthCodeChaîneSymbole du mois (m).
xlMonthLeadingZeroBooléenTrue si un zéro est affiché à gauche dans les mois (lorsque les mois sont affichés sous forme numérique).
xlMonthNameCharsEntier longCette propriété renvoie toujours trois caractères pour la compatibilité amont. Les noms de mois courts sont lus à partir de Microsoft Windows et peuvent avoir n'importe quelle longueur.
xlSecondCodeChaîneSymbole des secondes (s).
xlTimeSeparatorChaîneSéparateur d'heure :)).
xlTimeLeadingZeroBooléenTrue si un zéro est affiché à gauche dans l'heure.
xlWeekdayNameCharsEntier longCette propriété renvoie toujours trois caractères pour la compatibilité amont. Les noms de jours courts sont lus à partir de Microsoft Windows et peuvent avoir n'importe quelle longueur.
xlYearCodeChaîneSymbole de l'année dans les formats numériques (a).

Systèmes de mesure


IndexTypeSignification
xlMetricBooléenTrue pour le système métrique, False pour le système de mesure anglais.
xlNonEnglishFunctionsBooléenTrue si les fonctions ne sont pas affichées en anglais.

Séparateurs


IndexTypeSignification
xlAlternateArraySeparatorChaîneAutre séparateur d'éléments de tableaux à utiliser si le séparateur courant est identique au séparateur décimal.
xlColumnSeparatorChaîneCaractère utilisé pour séparer les colonnes dans les littérales de tableaux.
xlDecimalSeparatorChaîneSéparateur décimal.
xlListSeparatorChaîneSéparateur de listes.
xlRowSeparatorChaîneCaractère utilisé pour séparer les lignes dans les littérales de tableaux.
xlThousandsSeparatorChaîneZéro ou séparateur de milliers.

Les symboles, séparateurs et formats monétaires figurant dans le tableau précédent peuvent être différents de ceux utilisés dans votre langue ou région et ne seront peut-être pas disponibles, en fonction de la langue sélectionnée ou installée (par exemple, le français).

Exemple

Cet exemple montre comment afficher le séparateur décimal international.


Visual Basic pour Applications
MsgBox "The decimal separator is " & _
Application.International(xlDecimalSeparator)
 

Discussions similaires

Statistiques des forums

Discussions
312 323
Messages
2 087 296
Membres
103 510
dernier inscrit
baloty