Convertir format

P

Pias

Guest
Bonjour le forum,

Comment peut-on par VBA, convertir de données au format texte au précédé d’une apostrophe en format nombre.

Je me permet de vous envoyer un petit fichier joint de façon a que vous puissez mieux comprendre ma demande.

Car je ne suis pas trop sur que ça sois ça !... comme quoi par fois… ont est un peu….


Amicalement

...On se lasse de tout sauf d’apprendre !..
 

Pièces jointes

  • Convertir.zip
    8.4 KB · Affichages: 17
  • Convertir.zip
    8.4 KB · Affichages: 16
  • Convertir.zip
    8.4 KB · Affichages: 18
A

albert

Guest
bonsoir Pias, le forum,
avec l'enregistreur de macro, tu obtiens
Sub Macro1()

Range("K2").Select
Selection.Copy
Range("F2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.NumberFormat = """SFr."" #,##0.00"
End Sub

albert
 
P

Pias

Guest
Salut, Albert

J’ai essayé ta macro, mas ça fonctionne pas.
Je ne sais pas si c’est mon ordinateur ou quoi, mais j’obtient en F exactement la même chose que en K.

Cet à dire les nombres avec le petit triangle vert dans le coin supérieur gauche.

Effectivement si on clique sur le coin on peut obtenir une conversion en nombre.
Mais manuellement.

Alors ma question est comment faire la même chose mais en macro ?

Est-ce que tu as essayé ta macro sur mon fichier joint ? elle fonctionne chez toi ?
Merci pour ton intérêt.

Amicalement

...On se lasse de tout sauf d’apprendre !..
 
A

albert

Guest
j'ai fait une boucle et, en effet toutes les données ne se convertissent pas


Sub Macro2()
c = Range("K2", Range("K2").End(xlDown)).Count
Cells(1, 6) = c
Range("F1").NumberFormat = "0"
For i = 2 To Cells(1, 6)
Cells(i, 11).Select
Selection.Copy
Cells(i, 6).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.NumberFormat = """SFr."" #,##0.00"
Next
End Sub

j'obtiens
SFr. 1.20
1.21
1.22
SFr. 1.23
1.24
SFr. 1.25
1.26
1.27
1.28
1.29
1.30
1.31
1.32
1.33
1.34
1.35
1.36
1.37
1.38
1.39
1.40
1.41
1.42
1.43

... excuse, mais je dois partir, je regarderai lundi
bon WE
albert
 
P

Pias

Guest
Salut, Albert

En effet toutes les données ne se convertissent pas, je vais essayer de comprendre pourquoi,
Mais comme je me connaît pas grande chose si quelqu’un d’autre ne me donne pas la réponse ,je n’est pas d’autre choix que de attendre jusque a lundi.
Merci beaucoup Albert et passe en excellent week-end

Amicalement

...On se lasse de tout sauf d’apprendre !..
 
P

Pias

Guest
Salut, tatiak

Chez moi ça provoque une erreur #VALEUR!, chez toi ça fonctionne ?
Tu peut joindre une exemple avec mon fichier joint Stp.
Merci d’avance

Amicalement

...On se lasse de tout sauf d’apprendre !..
 
P

Pias

Guest
Salut, tatiak

Ca ne marche pas chez moi. Tu as quelle version Excel ? Moi j'ai la dernière.

J’ai peut-être la solution avec le code ci-dessus mais j n’ y arrive pas à l’appliquer si quelqu’un veut donner un coup d’œil. Et essayer de corriger ça serait sympa.

Merci d’avance

--------------------------
Sub Mouvement()
Sheets("Feuil1").Select

Range("K2").Select
Selection.Copy
Range("F2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
cell.Value = CDbl(cell.Value)
End Sub
------------------------------
Amicalement

...On se lasse de tout sauf d’apprendre !..
 
M

Michel_M

Guest
Bonsoir à tous,

Pias: ta colonne F est bien formatée en personnalisée avec sfr. donc pour convertir le texte 1.21 en nombre 1,21

par VBA tu peux écrire (xl 2000)

'par exemple ligne 3
'remplace le point par une virgule et convertit en nombre décimal simple

Cells(3, 6) = CSng(Replace(Cells(3, 11), ".", ","))

a toi de faire la boucle pour traiter ta colonne K

nota: cette ligne correspond à la version "formule" de tatiak préférable si il y a peu de valeurs dans la col K

A+
Michel
 
D

Dan

Guest
Bonsoir Pias,

La solution proposée par tatiak fonctionne.
Brigitte m'a fait part de ton pb et ai regardé ton pb et effectué le test. Cela me semble bon non ?

Je t'envoie le fichier.

@+ Dan
 

Pièces jointes

  • Convertir-V2.zip
    11.1 KB · Affichages: 18
P

Pias

Guest
Salut, Dan
Merci pour avoir pris le temps de regarder nom problème, et un gros bisous a Brigitte au passage, elle est vraiment très sympa !

Mais je te assure que chez moi, si je exécute la Macro1 en L1 j’obtient #VALEUR!...

Mais bon je crois que tatiak as raison c’est peut-être ma version d’Excel que est "Excentrique".

Il y’a encore la boucle de Michel_M ,que je remercie au passage, enfin ça commence a faire trop pour moi …après un semaine de travail.
Je regarde tout ça plus calmement demain


Et tous cas un grand merci a vous tous pour votre disponibilité


Amicalement

...On se lasse de tout sauf d’apprendre !..
 
B

Brigitte

Guest
Coucou à tous,


Ben merci Pias pour ce petit mot gentil.... Mais c'était un plaisir de t'accueillir sur le t'chat..

A bientôt, nous l'espérons tous.

Vive la Suisse, Vive le Canada, Vive la Belgique, Vive le monde entier à travers le forum XLD.


Bisous

Brigitte
 

Discussions similaires

Statistiques des forums

Discussions
312 413
Messages
2 088 201
Membres
103 767
dernier inscrit
LEONG