Convertir des FF en € dans des cellules alphanumériques

J’essaie de faire un truc que je ne saurais faire que de façon super-laborieuse car je ne maîtrise pas le VBA : je gère une feuille de données qui contient des prix. Au moment du passage à l’euro, ne sachant pas comment convertir des sommes de francs en euros à l’intérieur de cellules contenant à la fois du texte et des chiffres, j’ai continuer à enrichir mes données en continuant de renseigner les valeurs en francs (c’est un peu con-con, mais c’est le moyen le plus simple que j’avais trouvé).

A présent, je dispose enfin d’un peu de temps pour mettre à jour mon fichier et donc faire la conversion, mais je ne sais pas comment faire…

Quelqu’un pourrait-il m’aider SVP ? Merci !

(L’idéal serait de pouvoir contrôler l’arrondi – disons arrondir au nombre finissant par 0 ou 5 le plus proche).

En tant que membre habitué, tu dois savoir qu'un fichier d'exemple est souvent indispensable.

La création de l'euro date de 1999 et sa mise en place de 2002, tu prends ton temps...

A+

...membre habitué et distrait ! J'avais préparé le fichier, j'ai juste oublié de le joindre. Le voilà donc.

70exemple-30.xls (15.00 Ko)

Pour ce qui est de la conversion de francs en euros, ce n'est pas que j'aie pris mon temps, c'est juste que je n'ai jamais eu le temps de m'en occuper, et du coup j'ai converti les euros en francs pendant des années, faute de savoir faire l'inverse...

Bonjour à tous,

Essaie avec ce code (si j'ai bien compris l'histoire de l'arrondi) :

Sub ConvertirFrancEnEuroDansChaine()
Dim i As Byte, Nombre As Double, derlign As Long, ind As Long
Dim Aconvertir As String, NbEnEuros As String
Dim tablo

    derlign = [f65000].End(xlUp).Row
    tablo = Range("F4:F" & derlign)
    For ind = 1 To UBound(tablo)
        Aconvertir = Replace(Replace(tablo(ind, 1), ",", "."), " ", "µµ")
        For i = 1 To Len(Aconvertir)
            If IsNumeric(Mid(Aconvertir, i, 1)) Then
                Nombre = Val(Mid(Aconvertir, i, Len(Aconvertir) - i + 1))
                NbEnEuros = Application.WorksheetFunction.Round(Nombre / 6.55957 / 5, 0) * 5
                Aconvertir = Left(Aconvertir, i - 1) & Replace(Aconvertir, Replace(Nombre, ",", "."), NbEnEuros, i, 1)
                i = i + Len(NbEnEuros) - 1
            End If
        Next
        tablo(ind, 1) = Replace(Replace(Aconvertir, "µµ", " "), ".", ",")
    Next ind
    With Range("G4:G" & derlign)
        .NumberFormat = "@"
        .Value = tablo
    End With
    Columns("G:G").EntireColumn.AutoFit

End Sub

Le résultat est copié en colonne G (au cas où !)

Le fichier :

55exemple-30-v1.zip (7.23 Ko)

Super ! Génial ! Impec ! Respect ! Trop bien ! D'enfer !

(je pense aux heures de travail que ça m'évite, j'espère que ça ne t'en a pas demandé plusieurs de ton côté).

Merci merci merci

Si ton problème est résolu, n'oublie pas, gloub, membre habitué et distrait

resolu

Pas si distrait que ça quand même. En fait, le bouton n'apparaissait pas...?!

Rechercher des sujets similaires à "convertir alphanumeriques"