format de cellule ?????

  • Initiateur de la discussion baicca
  • Date de début
B

baicca

Guest
Bonsoir à tous .
Pour une question de pratique je souhaite remplacer la virgulequi designe les decimals par un point.
Quelqu'un peut-il me donner la demarche ou la formule .
MERCI
Baicca
 
B

baicca

Guest
Desolée je n'ai pas trouvé. :-(
Je me suis surement mal exprimée.
Voilà sur ma feuille de calcul j'aimerai pouvoir ecrire une somme avec un point plutôt qu'une virgule
ex: 147.30€ plutôt que 147,30 €
cela me permettrait de taper mes sommes sans desactiver la touche maj de mon clavier .
Je n'ai pas reussi à trouver dans format de cellule, nombre , personnaliser
MERCI
Baicca ????
 
C

chris

Guest
Bonjour
Tu peux utiliser le point du pavé numérique pour obtenir une virgule. Mais peut-être as tu un portable.
Sinon comme le dit Celeda il faut changer les paramètres régionaux de Windows.
Bouton Démarrer, Paramètres...
Chris
 
B

baicca

Guest
YeSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
Je vous remercie :))))))))))))))))))))))))
J'ai trouvé les parametres reginaux et j'y suis arrivée.
En fait je n'avais pas compris qu'il fallait faire la modif à partir de windows .Je cherchais sur excel
MERCI
Baicca
 
C

Celeda

Guest
Bonjour,

salut Chris, tu vas bien ?

et si tu ne touchais pas tes paramètres ........
et si je te proposais une macro.....................
issue d'un mixte de codes glanés par çi par là.................qui marche !!! youppi!!!!!


Sub Replace()
Dim C As Range
For Each C In Range(" A1:C10")
With C
If IsNumeric(.Value) Then
.Value = "'" & .Value
End If
End With
Next
With Range("A1:C10")
.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
End With
Set C = Nothing
End Sub

ou tu te sers tu bouton
ou tu déclenches la macro tout simplement

tu verras qu'ici les cellules ont été délimitées A1:C10
et qu'on vérifie si c'est bien du numéric et pas du texte,( les valeurs)

Celeda
 

Pièces jointes

  • Replace_Virgule1.zip
    7 KB · Affichages: 14
@

@+Thierry

Guest
Bonsoir Celeda, Chris, Baicca

Heuh sans faire les trouble-fêtes mais je ne comprends pas le but de la manoeuvre Celeda ?

Car ceci :
For Each C In Range(" A1:C10")
With C
If IsNumeric(.Value) Then
.Value = "'" & .Value
End If
End With
Next

Va irrémédiablement transformer en Texte ('Texte) toute cellule numérique de la plage ?

Ou bien quelque chose m'échappe ?

Bonne soirée
@+Thierry
 
C

Celeda

Guest
Bonjour,

Heuh Thierry, non tu ne joues jamais les troubles fêtes tu es ma Value. ajoutée !!lol!!

donc , dans mon exemple, je voulais tester cette macro sur des chiffres qui n'étaient pas en format number et cela a marché,(en fait c'est deux macros dans une que j'ai rebidouillé) mais corrige si tu penses que c'est une erreur, au contraire, pour mettre la bonne syntaxe.

Merci

Celeda
 
C

Celeda

Guest
Bonjour,

Oui Thierry c'est exact qu'avec Then
.Value = " ' " & .Value
cela transforme le nombre en 'texte

et là s'est beaucoup plus génant pour faire une somme lol!!!
désolée mais j'avais perdu de vue l'addition.

Celeda
 
E

Eric C

Guest
Bonjour le forum
Bonjour baicca, Dan, Thierry & Celeda

Celeda, toi qui gardes tous les codes bien au chaud, pourrais tu me dire, s'il te plait, si tu n'as pas celui de C@thy qui avait, je le crois, proposé un code qui avise par la coloration d'une cellule, qu'une date va arriver à échéance dans un mois. J'ai eu (ou cru) voir un tel code mais je le retrouve plus. Te remerciant d'avance.


Pour Thierry, j'ai essayé ton code mais quelque soit mon choix, le MsgBox s'affiche. Où est le problème.
Auteur: @+Thierry (195.78.6.---)
Date: 23-03-04 08:46

Bonjour Daniel, Peper-Eliot, le Forum


Essaie ceci :

Un UserForm, une ListBox1, un CommandButton1, une feuille avec Toto1 à Toto10 de A1 à A10...

Option Explicit
Option Compare Text

Private Sub UserForm_Initialize()
Dim MyArray
MyArray = Sheets(1).Range("A1:A10")
Me.ListBox1.List = MyArray '<<< C'est pour remplir la listBox, mais elle pourrait être remplie par additem ou autre...
End Sub

Private Sub CommandButton1_Click()
Dim i As Byte
Dim TaVar As String

TaVar = "Toto4"

For i = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.List(i, 0) = TaVar Then
Action
Exit For
End If
Next
End Sub

Sub Action()
MsgBox "Ceci est l'action"
End Sub


Bonne Journée
@+Thierry

@ ++ Eric C
 
C

Celeda

Guest
Bonjour,


1 - "la coloration d'une cellule, qu'une date va arriver à échéance dans un mois" = je pense qu'il y a plusieurs réponses possibles soit en formule soit en macro _ à vérifier avec le bouton Recherche _ dernièrement il a été fait
différentes approches voir aussi avec Lord Nelson ou Omicron ou Pascal76 dans Rechercher _ mais je vais regarder - et je te suggére de laisser un fichier zippé de moins de 50 ko sur un fil nouveau


2- Etant donné que je me suis plantée dans le code, il aurait fallu laisser ce fil en attente d'une correction de mon erreur, tu pouvais sans problème ouvrir un fil pour ta demande.


3- J'en profite pour faire un petit rappel : tous les posts sont ouverts à tout le monde, n'importe qui peut y répondre, peut apporter la solution ou la correction afin de permettre d'arriver au plus juste à la solution; les personnaliser réduit les chances de réponses et donc de solution appropriée

Merci

Celeda
 
@

@+Thierry

Guest
Bonjour Eric, Celeda, Chris, Baicca

Pour Eric,

Je n'avais pas vu ta question dans le fil original => Lien supprimé et je m'en excuse, vraiment beaucoup de boulot prioritaire, et je ne fais que des apparitions sporadiques sur le Forum.

Par contre si j'avais vu cette question, je t'aurais immédiatement répondu, "Eric relis la question de Daniel" :
Voilà : dans une listbox, j'ai plusieurs entrées (ex : terme 1, terme 2, terme 3). Je voudrais effectuer une action SI la liste contient le terme 2. En langage "humain" ça donnerait : "si la liste contient le terme 2, alors effectuer telle action".

Hors le code que tu as reproduit ci-dessus est fait exactement pour cela, il retournera la macro "Action" si "Toto4" est bien incrémenté et contenu dans la ListBox ! Et Daniel a été très satisfait de cette solution. Je te donne rendez-vous dans ce fil Lien supprimé car finalement cette question n'a rien à voir avec ce fil !!! lol

Pour ta question de cellules colorées en fonction d'une date, je ne sais pas ce que C@thy avait proposé mais voici une approche :

Option Explicit

Sub ColoringDateLessThanToday()
Dim TheDate As Date
Dim Cell As Range

TheDate = Date

For Each Cell In Range("H1:H50")
If Not IsDate(Cell) Then Exit For
If Cell < TheDate Then
Cell.Interior.ColorIndex = 3
Else
Cell.Interior.ColorIndex = xlNone
End If
Next

End Sub


Pour Celeda,

En "Added.Value" pour toi ! Un autre approche consisterait à faire un test sur chaque cellule pour vérifier qu'elle contient bien du numérique, sinon la laisser tel quel (pour les cas de : "1, Rue du Coin, batiment 10.E"

Sub VirguleInsteadPoint()
Dim Cell As Range
Dim NumVal As Double

For Each Cell In ActiveSheet.UsedRange
NumVal = 0
If Not Cell = "" Then
On Error Resume Next
NumVal = Application.WorksheetFunction.Substitute(Cell.Text, ".", ",")
If Not NumVal = 0 Then
Cell = NumVal
Else: Cell = Cell
End If
End If
Next
End Sub

NB testé évidemment sur un PC avec une config Windows Régionale en FR, (la Virgule)

PS pour notre ami(e) Baicca, il existe aussi un petit FreeWare sympa et indispensable pour ce problème de Point au pavé numérique quand on travaille sous OpenOffice c'est "AllChars For Windows" voir ce fil Lien supprimé je ne sais pas du tout si ce sera la solution pour saisir depuis un portable, mais c'est peut être mieux que de passer en configuration US...

Bon jour Férié à tous et toutes
 
@

@+Thierry

Guest
Re: format de cellule ????? Séparateur Decimale "Point" par "Virgule"

Bonjour Celeda, les gens de ce fil, le Forum

Arf j'ai mis tellement de temps à rédiger ma triple réponses sur deux fils entre le moment où j'ai ouvert ce fil suite à la question d'Eric que je ne t'ai point vue TheMiss !!!

Je partage donc tout à fait ton opinion pour ce qui est d'une intervention dans un fil qui n'a rien à voir avec la question, si tout le monde fait ceci ce serait vite l'anarchie, et c'est justement pourquoi j'ai re-orienté vers le fil initial.


Pour ce qui est d'ailleurs de la question initiale de ce fil, à savoir, pouvoir saisir sous Excel avec le Point qui serait perçu comme séparateur de décimale depuis un LapTop, il me vient aussi une nouvelle fonctionnalité qui avait disparue depuis Excel 95 et qui réapparaît depuis Excel XP (2002 et 2003) c'est une option dans le menu Outil / Option qui permet d'avoir des Paramètres de séparateur dans Excel Indépendants de ceux de Windows. Mais vu la réponse de Baicca du 30-05-04 20:55, il semblerait qu'il (elle) n'ait pas cette version d'Excel, mais à toutes fins utiles pour les futures lecteurs lectrices qui auront ce problème et qui ne se seront pas égarés jusqu'à la fin de ce fil...

D'ailleurs j'ai aussi "tracé" le sujet plus clairement....

Bon Apès Midi à Tous et Toutes
@+Thierry
 

Statistiques des forums

Discussions
312 789
Messages
2 092 120
Membres
105 221
dernier inscrit
Lavibkr