Microsoft 365 Bug dans export TXT

BOILEAU

XLDnaute Junior
Bonjour à tous,

Dans la formule VBA que Job75 m'avait écrite, je rencontre un problème.
Toutes les cellules de mon tableau qui sont formatées en monétaire avec 2 décimales (ex : 123,46 €), ressortent dans le fichier Txt créé, sous format anglophone (ex : 123.46 $).​
Je précise que ces chiffres sont tous dans la même colonne. Que dans cette colonne, il y a des cellules de texte et des cellules formatées en chiffres monétaires Euros.​
Je suis sous mac et ci-dessous la formule VBA en cours :​
Sub EnregistrerTabCogilogEntxt()
Dim nomfeuille$, fn$, ff$, test As Boolean
nomfeuille = ActiveSheet.Name
fn = ThisWorkbook.FullName
ff = ThisWorkbook.FileFormat
ChDir ThisWorkbook.Path
test = Application.Dialogs(xlDialogSaveAs).Show(nomfeuille, xlTextMac)
If Not test Then Exit Sub
ActiveSheet.Name = nomfeuille
Application.DisplayAlerts = False
ThisWorkbook.SaveAs fn, ff
MsgBox "Fichier texte créé..."
End Sub

Auriez-vous une idée d'où le problème pourrait venir ?

Vous remerciant par avance de votre aide.

Cordialement,
Frédéric
 

Phil69970

XLDnaute Barbatruc
Bonjour @BOILEAU

Sans savoir quel ligne "bug" et quel message tu as un peu presque au hasard ;) je te propose ceci :

VB:
Sub EnregistrerTabCogilogEntxt()
Dim nomfeuille$, fn$, ff$, test As Boolean
nomfeuille = ActiveSheet.Name
fn = ThisWorkbook.FullName
ff = ThisWorkbook.FileFormat

On Error Resume Next '<=== Ajout d'une gestion d'erreur
ChDir ThisWorkbook.Path

test = Application.Dialogs(xlDialogSaveAs).Show(nomfeuille, xlTextMac)
If Not test Then Exit Sub
ActiveSheet.Name = nomfeuille
Application.DisplayAlerts = False
ThisWorkbook.SaveAs fn, ff
MsgBox "Fichier texte créé..."
End Sub

Non testé car je n'ai pas de Mac....

Merci de ton retour

@Phil69970
 

job75

XLDnaute Barbatruc
Bon utilisez :

1) sur PC :
VB:
Sub EnregistrerClientEntxt()
    Dim c As Range, x$, nomfeuille$, test As Boolean
    Application.ScreenUpdating = False
    ActiveSheet.Copy
    For Each c In ActiveSheet.UsedRange
        x = c.Text
        If InStr(x, "€") Then c = x
    Next
    nomfeuille = ActiveSheet.Name
    ChDir ThisWorkbook.Path
    test = Application.Dialogs(xlDialogSaveAs).Show(nomfeuille, xlTextWindows)
    ActiveWorkbook.Close False
    If test Then MsgBox "Fichier texte créé..."
End Sub
2) sur MAC :
VB:
Sub EnregistrerClientEntxt()
    Dim c As Range, x$, nomfeuille$, test As Boolean
    Application.ScreenUpdating = False
    ActiveSheet.Copy
    For Each c In ActiveSheet.UsedRange
        x = c.Text
        If InStr(x, "€") Then c = x
    Next
    nomfeuille = ActiveSheet.Name
    ChDir ThisWorkbook.Path
    test = Application.Dialogs(xlDialogSaveAs).Show(nomfeuille, xlTextMac)
    ActiveWorkbook.Close False
    If test Then MsgBox "Fichier texte créé..."
End Sub
 

BOILEAU

XLDnaute Junior
Bon utilisez :

1) sur PC :
VB:
Sub EnregistrerClientEntxt()
    Dim c As Range, x$, nomfeuille$, test As Boolean
    Application.ScreenUpdating = False
    ActiveSheet.Copy
    For Each c In ActiveSheet.UsedRange
        x = c.Text
        If InStr(x, "€") Then c = x
    Next
    nomfeuille = ActiveSheet.Name
    ChDir ThisWorkbook.Path
    test = Application.Dialogs(xlDialogSaveAs).Show(nomfeuille, xlTextWindows)
    ActiveWorkbook.Close False
    If test Then MsgBox "Fichier texte créé..."
End Sub
2) sur MAC :
VB:
Sub EnregistrerClientEntxt()
    Dim c As Range, x$, nomfeuille$, test As Boolean
    Application.ScreenUpdating = False
    ActiveSheet.Copy
    For Each c In ActiveSheet.UsedRange
        x = c.Text
        If InStr(x, "€") Then c = x
    Next
    nomfeuille = ActiveSheet.Name
    ChDir ThisWorkbook.Path
    test = Application.Dialogs(xlDialogSaveAs).Show(nomfeuille, xlTextMac)
    ActiveWorkbook.Close False
    If test Then MsgBox "Fichier texte créé..."
End Sub
Bonsoir Job 75,

Merci pour votre aide.
Le problème existe toujours.
Je suis donc revenu sur la formule VBA initiale et j'ai décidé de ne pas formater mes cellules en monétaire (€) mais en simple cellule Nombre 2 décimales et cela fonctionne.
Cette solution me convient parfaitement.
Merci de votre aide.
Bonne soirée
Frédéric
 

Statistiques des forums

Discussions
312 215
Messages
2 086 321
Membres
103 178
dernier inscrit
BERSEB50