IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[E-03]Conversion ANSI vers OEM


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 38
    Points : 38
    Points
    38
    Par défaut [E-03]Conversion ANSI vers OEM
    Bonjour,

    Après quelques recherches sur le forum et sur google, j'aimerais savoir, de prime abord, s'il était possible de convertir une chaine de caractère ANSI vers OEM par le biais de Macro ?

    Pourquoi ?
    Je souhaite générer un fichier batch en fonction de paramètres récupérés dans des feuilles excel. Jusque là tout marche (le batch fait ce qu'on lui dit de faire), tant qu'il n'y a pas d'accent dans les cellules.

    J'ignore si c'est possible, toutefois dans le sens inverse ca semble marcher pour acces: http://www.developpez.net/forums/d39...rtir-oem-ansi/

    Merci d'avance

  2. #2
    Nouveau membre du Club
    Inscrit en
    Octobre 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 38
    Points : 38
    Points
    38
    Par défaut
    Bon ben ca vaut ce que ca vaut, mais ca marche. Je met le code de la fonction si ca peut servir a quelqu'un :
    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
    Private Function ANSItoOEM(ByVal Chaine As String) As String
     
        Dim Compteur As Long, CarLu As String, ValRet As Integer
        For Compteur = 1 To Len(Chaine)
            CarLu = Mid(Chaine, Compteur, 1)
            ValRet = Asc(CarLu)
            Select Case ValRet
                Case 192: ValRet = 183
                Case 193: ValRet = 181 ' Á
                Case 194: ValRet = 182 ' Â
                Case 195: ValRet = 199 ' Ã
                Case 196: ValRet = 142 ' Ä
                Case 199: ValRet = 128 ' Ç
                Case 200: ValRet = 212 ' È
                Case 201: ValRet = 144 ' É
                Case 202: ValRet = 210 ' Ê
                Case 203: ValRet = 211 ' Ë
                Case 205: ValRet = 214 ' Í
                Case 206: ValRet = 215 ' Î
                Case 209: ValRet = 165 ' Ñ
                Case 214: ValRet = 153 ' Ö
                Case 217: ValRet = 235 ' Ù
                Case 218: ValRet = 233 ' Ú
                Case 219: ValRet = 234 ' Û
                Case 220: ValRet = 154 ' Ü
                Case 221: ValRet = 237 ' Ý
                Case 224: ValRet = 133 ' à
                Case 225: ValRet = 160 ' á
                Case 226: ValRet = 131 ' â
                Case 227: ValRet = 198 ' ã
                Case 228: ValRet = 132 ' ä
                Case 231: ValRet = 135 ' ç
                Case 232: ValRet = 138 ' è
                Case 233: ValRet = 130 ' é
                Case 234: ValRet = 136 ' ê
                Case 235: ValRet = 137 ' ë
                Case 236: ValRet = 141 ' ì
                Case 237: ValRet = 161 ' í
                Case 238: ValRet = 140 ' î
                Case 239: ValRet = 139 ' ï
                Case 241: ValRet = 164 ' ñ
                Case 242: ValRet = 227 ' ò
                Case 243: ValRet = 162 ' ó
                Case 244: ValRet = 147 ' ô
                Case 245: ValRet = 228 ' õ
                Case 246: ValRet = 148 ' ö
                Case 249: ValRet = 151 ' ù
                Case 250: ValRet = 163 ' ú
                Case 251: ValRet = 150 ' û
                Case 252: ValRet = 129 ' ü
                Case 253: ValRet = 236 ' ý
                Case 255: ValRet = 152 ' ÿ
            End Select
            ANSItoOEM = ANSItoOEM & Chr(ValRet)
        Next
    End Function

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ansi vers OEM
    Par Okapia dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 26/05/2011, 12h44
  2. [NotePad++] Extension de conversion UTF8 vers ANSI
    Par xorax dans le forum Autres Logiciels
    Réponses: 0
    Dernier message: 19/12/2007, 17h02
  3. Conversion Ansi vers Unicode
    Par FamiDoo dans le forum C++
    Réponses: 10
    Dernier message: 10/08/2006, 14h31
  4. Réponses: 4
    Dernier message: 28/12/2005, 13h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo