Excel - modif point en virgule-Pb particulier

issamIdj Messages postés 3 Statut Membre -  
issamIdj Messages postés 3 Statut Membre -
Bonjour,

Je sais qu'apparemment ma question a l'air identique à celle de tous les utilisateurs qui veulent changer un point en virgule, mais ce n'est pas exactement le cas!!!

Voici le problème, je dois réaliser un fichier excel pour un client, ou celui ci n'aura que quelques copier/coller à faire de certaines valeurs pour obtenir toute une analyse de résultats. Seulement pour analyser les valeurs qui vont être copier/coller, il faut convertir les points en virgule mais DE MANIÈRE AUTOMATIQUE!! C'est à dire que j'ai basé tous mes calculs sur de cases vides de l'excel et maintenant je dois trouver un moyen de remplir ces cases vides par les nombres fournit par le client sans que lui ai à faire la manip' de changer les points en virgule... Je ne sais pas si je suis très clair, masi ca m'aiderait grandement si qqun avait la solution.

A voir également:

6 réponses

pépé35530 Messages postés 3014 Date d'inscription   Statut Membre Dernière intervention   1 390
 
Bonjour,

il me semble que, si excel est configuré avec la virgule comme séparateur de décimales, un fichier importé avec une configuration en point sera automatiquement transformé.

A vérifier

A+

pépé
0
issamIdj Messages postés 3 Statut Membre
 
merci de ta réponse pépé, mais le truc c'est que je dois fournir un excel clé en main, donc si mon client lui n'a pas cette config, l'excel sera inutilisable, c'est pourquoi il me faudrait une fonction excel qui fasse cette transition!!

Des idées?!?

merci d'avance!!
0
Morgothal Messages postés 1350 Statut Membre 184
 
Salut,
Tu pourrais demander à ton client d'écrire dans une autre cellule, et de transformer sa valeur dans la cellule utilisée pour les traitements : avec des
=TROUVE()
combinés à des
=ESTFAUX()
ou
=ESTERR()
et des
=SI()
tu peux sûrement arriver à tes fins...
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 449
 
Bonjour
peut être une idée, on ne sait jamais, ça dépend de la complexité de vos formules
Garder la copie avec un point
et inscrivez dans vos formules à la place de l'adresse directe des montants:
=SUBSTITUE(Cell;".";",")*1
vous pouvez même placer dans une cellule hoirs champ une valeur d'option, par exemple V en X1
et toujours par exemple au lieu d'écrire= A1écrivez:
=SI($X$1="V";SUBSTITUE(A1;".";"'")*1;A1)
ainsi la virgule sera prise en compte quand V sera placé en X1, sinon ce sera le point.
mais je répéte , ça risque d'être compliqué avec des formules complexes.

crdlmnt

Ps autre exemple pour faire une somme:
=SOMME(SUBSTITUE(A1:A14;".";",")*1)
fait la somme de A1à A14 que le séparateur soit un point ou une virgule et même si les séparateurs sont mélangés dans le champ.
mais attention, cette formule est matricielle et doit être entrée avec enter en maintenant ctrl et shift enfoncées. Elle se retrouve entre accolades dans la barre de formule.

ne sommes nous pas seuls à comprendre ce que l'on explique?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour tout le monde,

si mon client lui n'a pas cette config
Tu dois donc tester la configuration du micro.

Utilise-t-il le séparateur décimal système (défini dans les options régionales) ou celui défini dans excel (options / international) ?
Et remplacer par ce caractère.

Une proposition par macro :
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range, plage As Range
    Set plage = Intersect(Target, [plageSepDécimal])
    If plage Is Nothing Then Exit Sub
    Application.EnableEvents = False
    For Each c In Intersect(Target, [plageSepDécimal])
        If Application.UseSystemSeparators Then
            ' si le séparateur décimal système est utilisé
            c = Replace(c, ",", Application.International(xlDecimalSeparator))
        Else
            ' si le séparateur décimal excel est utilisé
            c = Replace(c, ",", Application.DecimalSeparator)
        End If
    Next c
    Application.EnableEvents = True
End Sub

fichier exemple

eric
0
issamIdj Messages postés 3 Statut Membre
 
Nickel merci bcp! Ça a fonctionné.
0