Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Accéder aux paramètres de l'ordinateur par VBA

1 réponse
Avatar
Eric
Bonjour =E0 tous,

Je rencontre quelques probl=E8mes de format des donn=E9es=20
num=E9riques que je saisie dans mes fen=EAtre VBA qui se=20
retranscrivent dans excel dans un format diff=E9rent.

Par exemple je suis en format ### ##,00 en VBA et la=20
retranscription sur excel s'apparente =E0 du texte m=EAme si=20
les cellules concern=E9es sont en format num=E9rique.

Cela ne se produisait pas quand mes param=E8tres r=E9gionaux=20
d'ordinateur =E9tait en mode"." pour les d=E9cimales, mais=20
depuis que je suis en mode "," (car d'autres applications=20
ne fonctionne qu'avec ce mode ",") le probl=E8me appara=EEt.

D'une mani=E8re plus g=E9n=E9rale, j'aurais souhait=E9 pouvoir=20
param=E9trer l'ordinateur depuis VBA, ce qui permettrait de=20
changer les param=E8tres =E0 l'ouverture du programme et de=20
les restaurer =E0 sa fermeture.

Merci =E0 tous de votre aide pour cette question =E9pineuse

1 réponse

Avatar
Michel Gaboly
Bonjour,

VBA est en anglais pour toutes les versions*. C'est pareil
pour les formats : le séparateur décimal à utiliser dans le
code VBA est nécessairement le point, indépendamment des
paramètres de ta machine.

Par contre, en cas de saisie dans un UserForm (avec un
TextBox par exemple), pour que le contenu soit reconnu
comme numérique, il faut utiliser comme séparateur
(point ou virgule) qui correspond aux paramètres de la
machine.

Tu peux facilement traiter ce second point avec une procé-
dure événementielle qui remplace le point ET la virgule
par le bon séparateur :

Application.International(xlDecimalSeparator)

Pour le remplacement, il faut utiliser

Application.WorksheetFunction.Substitute

si VBA repose sur une version 5 de Visual Basic (Excel 97
sur PC, Excel 98, 2001 et X sur Mac)

ou la fonction Replace si VBA repose sur une version 6 de
Visual Basic (Excel 2000 ou plus récent, sur PC seulement)

* Sauf Excel 5 et 95 qui offrent des dialectes locaux



Bonjour à tous,

Je rencontre quelques problèmes de format des données
numériques que je saisie dans mes fenêtre VBA qui se
retranscrivent dans excel dans un format différent.

Par exemple je suis en format ### ##,00 en VBA et la
retranscription sur excel s'apparente à du texte même si
les cellules concernées sont en format numérique.

Cela ne se produisait pas quand mes paramètres régionaux
d'ordinateur était en mode"." pour les décimales, mais
depuis que je suis en mode "," (car d'autres applications
ne fonctionne qu'avec ce mode ",") le problème apparaît.

D'une manière plus générale, j'aurais souhaité pouvoir
paramétrer l'ordinateur depuis VBA, ce qui permettrait de
changer les paramètres à l'ouverture du programme et de
les restaurer à sa fermeture.

Merci à tous de votre aide pour cette question épineuse


--
Cordialement,

Michel Gaboly
http://www.gaboly.com