none
séparateur international Excel 2000 RRS feed

  • Question

  • Bonjour,

     

    Je dois intégrer des données extérieures dans Excel sur des ordinateurs de différents pays.

    Ces données (décimal = point) sont copiées - collés via une macro,

    Les postes sont configurés (panneau de config) avec le point ou avec la virgule.

    Certains postes ont encore Excel 2000.

     

    En fait je souhaite mettre en œuvre en version 2000 ce qui existe en version 2003 :

    Outils - Options, onglet International

    En VBA :

    application.DecimalSeparator="."

    Application.UseSystemSeparators=False

     

    La même chose mais dans vba Excel 2000

     

    Merci d'avance

    samedi 2 février 2008 16:04

Toutes les réponses

  • Bonjour,

     

    Ces propriétés n'existent pas comme vous l'avez constaté dans la version 2000.

    La parade, créer votre propre méthode en fonction de la version d'Excel :

     

    Code Snippet

    Private Const XL_2000 = "9.0"
    Private Const XL_2003 = "11.0"

    'Directive conditionnelle (à adapter en fonction de la version)
    #Const XL_APP_VERSION = XL_2000

    Private m_strDecimalSeparator As String

    Public Property Get GetDecimalSeparator() As String
        #If XL_APP_VERSION = XL_2000 Then
            m_strDecimalSeparator = Mid$(3 / 4, 2, 1)
        #ElseIf XL_APP_VERSION = XL_2003 Then
            m_strDecimalSeparator = Application.DecimalSeparator
        #End If
        GetDecimalSeparator = m_strDecimalSeparator
    End Property

     

     

    Il ya d'autres alternatives plus sofistiquées exploitant la prorpiété Version de l'objet Application mais je pense que celle-ci peut déjà vous dépanner...

     

    Bonne journée

     

    mardi 5 février 2008 13:24
    Modérateur