Bonjour à tous,

Voici mon probleme... (je suis un peu noob en VB :s)
J'ai un fichier dans lequel des dates et des numeriques sont erronés
(ils sont issus d'un export venant d'oracle appli
--> certains mois sont en anglais et le separateur decimal est le ' . ')

J'ai donc fait une macro qui sélectionne les colonnes en question et
remplace l'anglais par le français et le point par la virgule.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
 
Sub CorrectFormat()
'
'CorrectFormat Macro
'
 
'Formatage
 
    Columns("H:H").Select
    Selection.Replace What:="JAN", Replacement:="janv.", LookAt:=xlPart, _
        SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Selection.Replace What:="FEB", Replacement:="févr.", LookAt:=xlPart, _
        SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Selection.Replace What:="MAR", Replacement:="mars", LookAt:=xlPart, _
        SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Selection.Replace What:="APR", Replacement:="avr.", LookAt:=xlPart, _
        SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Selection.Replace What:="MAY", Replacement:="mai", LookAt:=xlPart, _
        SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Selection.Replace What:="JUN", Replacement:="juin", LookAt:=xlPart, _
        SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Selection.Replace What:="JUL", Replacement:="juil.", LookAt:=xlPart, _
        SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Selection.Replace What:="AUG", Replacement:="août", LookAt:=xlPart, _
        SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Selection.Replace What:="SEP", Replacement:="sept.", LookAt:=xlPart, _
        SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Selection.Replace What:="OCT", Replacement:="oct.", LookAt:=xlPart, _
        SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Selection.Replace What:="NOV", Replacement:="nov.", LookAt:=xlPart, _
        SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Selection.Replace What:="DEC", Replacement:="déc.", LookAt:=xlPart, _
        SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
'Format de la date
    Columns("H:H").NumberFormat = "[$-40C]d-mmm-yyyy;@"
'Virgule comme séparateur décimal
'On remplace le point par un autre point (mais considérant qu'on
' tape un point, renplacement par la virgule)
 
Application.UseSystemSeparators = False
Application.DecimalSeparator = ","
 
Columns("E:E").Select
    Selection.Replace What:=".", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
Quand je la lance dans la procedure Workbook_Open() d'un fichier test
tout se passe bien.
Le problème c'est que je veux pouvoir la lancer à partir d'autres PC utilisateurs.
Pourriez-vous m'indiquer la marche à suivre svp...?

Merci d'avance.

o/