Remplacer Point par Virgule

Cutbill1234

XLDnaute Nouveau
Bonjour à tous,

Je sais que la question à déja été posée mais le problème est que les réponses ne me conviennent pas, d'ou ce post.

Voila mon problème : J'ai créer un userform sur lesquel j'ai inseré plusieurs zone de textes (15) elle-même liées à des cellules par le ControlSource. Dans ces zones de textes j'ai besoin de rentrer des nombres decimaux mais si j'utilise le point du pavé numérique ça ne marche pas. Mais ça marche avec la virgule du clavier. Comment faire en sorte, étant donné que j'ai plusieurs userform du même type dans ce classeur pour que le point soit remplacé par la virgule dans tout le classeur et si possible uniquement celui la.

D'avance merci de votre aide

Cutbill
 

Léa

Nous a quitté
Repose en paix
Bonjour,

Un jour en traînant sur le Net j'ai trouvé une bidouille qui pourrait répondre à ta question. Je t'avoue que je ne l'ai pas testée, car je voulais trouver plus simple, mais jusqu'à présent je n'ai pas trouvé

Cette bidouille permet donc d'avoir un point sans être obligé d'appuyer sur la touche Majuscule.

- Charger le fichier “System” dans ResEdit et ouvrir le type de ressource KCHR.

- Ouvrir la ressource en fonction du clavier utilisé (US = ressource ID 0, France = ressource ID 1, France numérique = ressource ID 1111...etc.) Par exemple, si vous utilisez le clavier français, ouvrir la ressource ID 1, normalement nommé 'France'.

Un superbe éditeur s'affiche. En bas, se trouve la représentation graphique d'un clavier evec à droite le pavé numérique (et la virgule que nous allons modifier...) Dans la partie du haut à gauche, se trouve le tableau des caractères ASCII. Localiser le caractère “.” (point) dans ce tableau.

Il suffit maintenant de le sélectionner et de le glisser jusqu'à la virgule du pavé numérique. Le remplacement est automatique et immédiat.

Procéder à la même opération en appuyant sur la touche “Majuscule”, puis sur la touche “Option”, puis encore sur la touche “Contrôle” et avec les combinaisons de touches Majuscule-Option et Majuscule-Contrôle. Puis faire de même avec la touche Verrouillage Majuscule enfoncée.

Ne pas faire de même avec la touche “Commande”, cette touche ne participant pas à la sélection car elle est utilisée pour les raccourcis clavier.

Sauvegarder le fichier “System”, quitter ResEdit et redémarrer.
..


Je tiens bien sur à préciser que ce n'est pas de moi, mais je ne peux citer l'auteur que de façon anonyme car je ne me souviens plus de son nom

Bonne journée
Léa
 

Léa

Nous a quitté
Repose en paix
je pense à un truc basique

si tu utilisais la fonction remplacer
c'est peut-être ridicule ce que je te dis, mais si ça te convient tu pourrais codifier cette action en VBA

J'espère que mon idée puisse te faire avancer

Léa
 

Hervé

XLDnaute Barbatruc
Bonjour tout le monde,


2 méthodes :

Private Sub TextBox1_Change()
TextBox1 = Application.WorksheetFunction.Substitute(TextBox1.Value, '.', ',')
End Sub

Private Sub TextBox2_Change()
TextBox2 = Replace(TextBox2.Value, '.', ',')
End Sub

sinon, si tu as beaucoup de textbox, tu peut passer par un module de classe, comme dans l'exemple de didierMdf en pièce jointe.

A plus [file name=ClassPointEnVirgule.zip size=16475]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ClassPointEnVirgule.zip[/file]

Message édité par: Hervé, à: 04/03/2005 13:46
 

Pièces jointes

  • ClassPointEnVirgule.zip
    16.1 KB · Affichages: 272
  • ClassPointEnVirgule.zip
    16.1 KB · Affichages: 260
  • ClassPointEnVirgule.zip
    16.1 KB · Affichages: 283

Cutbill1234

XLDnaute Nouveau
Rebonjour à tous,

J'ai testé en faisant comme le fichier de Hervé, mais chez moi j'ai un truc qui coince :

Private Sub UserForm_Initialize()
Dim Ctrl As Control
Dim N As Byte
For Each Ctrl In Me.Controls
If TypeName(Ctrl) = 'TextBox' Then
N = N + 1
Set GTxt(N).GroupTxt = Ctrl
End If
Next Ctrl
End Sub

il me met une erreur sur GTxt

Savez vous pourquoi ais-je oublié quelque chose ?

D'avance merci

Cutbill
 

Hervé

XLDnaute Barbatruc
Re

As-tu pensé à déclarer en tête du module de l'userform :

Dim GTxt(15) As New Classe1

15, si tu as 15 textbox

sinon essaye de mettre une pièce jointe.

Le fichier n'est pas de moi, cutbill, mais de didier_MdF.

a plus
 

Discussions similaires

Statistiques des forums

Discussions
314 450
Messages
2 109 727
Membres
110 552
dernier inscrit
jasson