[VBA] probléme de format
nightcyborg
-
nightcyborg -
nightcyborg -
Bonjour,
j'ai un souci avec une macro pour Excel. j'ai des volumes exprimés en Mo, mais je dois faire en sorte que "Mo" ne soit plus affiché, seulement la valeur. je me suis dis, que c'était simple, mais je bloque.
exmple :
je pars de ça 189,256Mo
je fais passer cette valeur par la code suivant :
If InStr(Cells(i, 11).Value, "Mo") Then
Cells(i, 11).Value = Replace(CStr(Cells(i, 11).Value), "Mo", "")
End If
je me retrouve avec : 189 256
j'ai aussi essayé de procéder comme suit :
If InStr(Cells(i, 11).Value, "Mo") Then
Cells(i, 11).Value = Left(Cells(i, 11).Value, Len(Cells(i, 11).Value) - 2)
End If
mais j'obtiens le même résultat, pas de virgule. au départ, la valeur est au format standard puis, après être passé par mon code se retrouve au format nombre.
si quelqu'un possède la solution, merci d'avance de la partager avec moi ;)
j'ai un souci avec une macro pour Excel. j'ai des volumes exprimés en Mo, mais je dois faire en sorte que "Mo" ne soit plus affiché, seulement la valeur. je me suis dis, que c'était simple, mais je bloque.
exmple :
je pars de ça 189,256Mo
je fais passer cette valeur par la code suivant :
If InStr(Cells(i, 11).Value, "Mo") Then
Cells(i, 11).Value = Replace(CStr(Cells(i, 11).Value), "Mo", "")
End If
je me retrouve avec : 189 256
j'ai aussi essayé de procéder comme suit :
If InStr(Cells(i, 11).Value, "Mo") Then
Cells(i, 11).Value = Left(Cells(i, 11).Value, Len(Cells(i, 11).Value) - 2)
End If
mais j'obtiens le même résultat, pas de virgule. au départ, la valeur est au format standard puis, après être passé par mon code se retrouve au format nombre.
si quelqu'un possède la solution, merci d'avance de la partager avec moi ;)
A voir également:
- [VBA] probléme de format
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Hp usb disk storage format tool - Télécharger - Stockage
- Format apfs - Guide
- Format bin - Guide
2 réponses
je viens de me rendre compte que ça fonctionne sur certaines valeurs, mais je ne vois pas pourquoi. elles sont au même format.
Bonjour,
En fait je pense qu'il prend la virgule pour le séparateur de milliers pendant la conversion. Pour éviter ce phénomène il faut soit passer les cellules au format texte avant l'exécution de la macro soit les passer au format texte dans la macro comme cela :
A+
En fait je pense qu'il prend la virgule pour le séparateur de milliers pendant la conversion. Pour éviter ce phénomène il faut soit passer les cellules au format texte avant l'exécution de la macro soit les passer au format texte dans la macro comme cela :
If InStr(Cells(i, 11).Value, "Mo") Then
Cells(i, 11).NumberFormat = "@"
Cells(i, 11).Value = Replace(Cells(i, 11).Value, "Mo", "")
End If
A+