Excel - modif point en virgule-Pb particulier

Fermé
issamIdj Messages postés 3 Date d'inscription lundi 18 juin 2012 Statut Membre Dernière intervention 19 juin 2012 - 18 juin 2012 à 14:33
issamIdj Messages postés 3 Date d'inscription lundi 18 juin 2012 Statut Membre Dernière intervention 19 juin 2012 - 19 juin 2012 à 12:06
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 2942 Date d'inscription vendredi 1 mai 2009 Statut Membre Dernière intervention 19 mars 2016 1 382
18 juin 2012 à 14:58
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 Date d'inscription lundi 18 juin 2012 Statut Membre Dernière intervention 19 juin 2012
19 juin 2012 à 08:59
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 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 183
19 juin 2012 à 09:25
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 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
Modifié par Vaucluse le 19/06/2012 à 10:12
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 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
19 juin 2012 à 10:41
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 Date d'inscription lundi 18 juin 2012 Statut Membre Dernière intervention 19 juin 2012
19 juin 2012 à 12:06
Nickel merci bcp! Ça a fonctionné.
0