Format numérique Balance récalcitrante

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Sylvie

XLDnaute Accro
Bonjour Cher Forum

la dernière version d'un célèbre logiciel comptable du marché bug au point de ne plus exporter correctement les balances au format excel.

Pourriez vous me compiler une petite macro qui traitera en bloc les 4 colonnes C, D E et F qui supprimera l'espace généré comme séparateur de milliers et qui mettra au format numérique les données inférieures à 1000 (car la suppression de l'espace rétablit bien le format numérique mais il faudrait appliquer en VBA un CNUM en bloc sur ces 4 colonnes) ?

J'ai bien sur trouvé des macros sur le forum qui traitent ce problème de format mais mon haut niveau de VBA, ne me permet pas de savoir les compiler correctement.

Par avance merci
 

Pièces jointes

Re : Format numérique Balance récalcitrante

Bonjour Abcd,

je souhaite une solution en vba que je puisse appliquer en masse à toutes les extractions de balance.
Bien sur j'ai supprimé les espaces par éditions , remplacer et appliquer la transformation via CNUM des chaines de caractères restantes, mais ceci est trop long pour que je puisse généraliser cette méthode.
 
Re : Format numérique Balance récalcitrante

Bonjour,

Ci-joint une macro qui "nettoie" tes données.
En fait ton appli ajoute des espaces (code 32) et des espaces insecables (code 160).

Edit : Bonjour Hasco et abcd.

Il y a aussi des espaces "32" dans les cellules.
 

Pièces jointes

Dernière édition:
Re : Format numérique Balance récalcitrante

Bonjour sylvie,😀

voici une petite macro qui le fera,

tu selectionnes tes cellules (sans la ligne de titre) et tu appelles la macro:

Code:
Sub convert()
    Dim i As Long
    Dim valTxt As String
    For i = 1 To Selection.Cells.Count
        If Trim(Selection(i).Text) <> vbNullString Then
            valTxt = Replace(Replace(Selection(i), Chr(160), ""), ",", ".")
            Selection(i) = Val(valTxt)
        End If
    Next i
End Sub

A+

[Edition] Hello Catrice!
 
Re : Format numérique Balance récalcitrante

Salue,Sylvie

a tester :

Code:
Sub Format()
Worksheets("BAL 31.10.08").Columns("C"). _
    NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"
Worksheets("BAL 31.10.08").Columns("D"). _
    NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"
Worksheets("BAL 31.10.08").Columns("E"). _
    NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"
Worksheets("BAL 31.10.08").Columns("F"). _
    NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"
End Sub

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Call Format
End Sub

Cordialement
 
Re : Format numérique Balance récalcitrante

Bonjour les zamis,

Merci Hasco .. it's perfect !
J'ai rajouté à la fin de ta macro après le Next.i ceci
Selection.NumberFormat = "#,##0.00"

Cela fonctionne bien sur, mais pour ma gouverne personnelle et pour progresser dans la compréhension du VBA, peux tu me dire si tu aurais placé ce bout de code à cet endroit où si cela fait bondir les puristes ?

Catrice et Said merci également (mais catrice je n'ai pas pu ouvrir ton fichier)

A+
 
Re : Format numérique Balance récalcitrante

Re, Sylvie

Le Selection.NumberFormat = "#,##0.00" est très bien là où tu l'as mis.

Ce qui est bien c'est ce qui marche et te convient, les puristes, laissons les puritaniser?, purister? purer? ou ce qu'ils voudront.🙂

bises et à bientôt
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour