Faire ecrire une formule SI dans une cellule par macro compatible FR/EN

Bonjour,

J'essaie créer un fichier qui fonctionne très bien sur un pc Français pour réinitialiser un fichier, mais j'ai un problème pour le passer un PC US

Voila le bout de code qui pas un soucis, la macro n'aime pas le "formulalocal()" , et dans la page excel il faut écrire "IF" et pas "SI" apparemment.

Je vide une cellule, par ex J31, et dans celle du dessous, J32, je veux écrire =SI(J31="";"";-J31)

With Sheets(nom_feuil)
        For i = 31 To 49 Step 2
            .Range("J" & i).ClearContents
            .Range("J" & i + 1).FormulaLocal = "=SI(J" & i & "=" & """""" & ";" & """""" & ";-J" & i & ")"
        Next
End With

J'arrive a tester la langue pour écrire un bout code pour les Français et un pour les anglais

La sélection de la langue fonctionne bien, mais pas le code anglais, il plante à la ligne indiquée par une flèche

Select Case Application.LanguageSettings.LanguageID(msoLanguageIDInstall)
    Case 1036
    lang = "fr"
    Case 1033
    lang = "en"
    Case Else
    MsgBox "Unrecognized language"
End Select

With Sheets(nom_feuil)
    If lang = "fr" Then
        For i = 31 To 49 Step 2 
            .Range("J" & i).ClearContents
            .Range("J" & i + 1).FormulaLocal = "=SI(J" & i & "=" & """""" & ";" & """""" & ";-J" & i & ")"
        Next
    Else
        For i = 31 To 49 Step 2
            .Range("J" & i).ClearContents
            .Range("J" & i + 1).Formula = "=IF(J" & i & "=" & """""" & ";" & """""" & ";-J" & i & ")"      '<----------
        Next
    End If
End With

Est ce que quelqu'un aurait une solution SVP ?

Bonjour,

Le coupable devrait être le séparateur ...

Il faudrait remplacer le point virgule ... par une virgule ...

En espérant que cela t'aide ...

Bonjour,

dans ce cas laisse complètement tomber .formulalocal, .formula ira pour toutes les langue.

Et en anglais le séparateur de liste est la ,

Remplace tous tes ;

eric

salut James

Merci James et Eric,

Je n'avais pas pensé que c'était le IF qui pouvait planter et non le .formula !

Avec les virgules ça fonctionne

Et sans le .formulalocal je n'ai plus besoin de faire de distinction de langage. J'y avais bien pensé mais ça plantait à cause des points virgules

Cool

Merci beaucoup

Re,

Content que cela fonctionne

Merci pour tes remerciements communautaires ET pour avoir cliqué sur le ... ...

Rechercher des sujets similaires à "ecrire formule macro compatible"