| | nerea144 | Posté le 27/05/2008 @ 18:22 | Petite astucienne
28 Messages
| Bonjour, Je récupère des résultats dans un fichier brut ou les valeurs ont des points au lieu de virgules. Remplacer ces points par des virgules fonctionne très bien sur Excel : - Je copie les données brut pour en faire un collage spécial valeur dans mon fichier, ensuite je fais EDITION remplacer les . par , Là pas de problème. Mais quand je retranscris cette instruction dans VBA, ce qui donne : Selection.Copy Range("H18").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Les points ont bien été remplacés par des virgules, mais les données sont en format texte et excel me demande de les convertir en nombre, ce que je ne sais pas résoudre dans VBA. Avez-vous une solution ? Merci.
| | |
| |
| Publicité |
|
| | arrial | Posté le 29/05/2008 à 14:24 | Petit astucien
53 Messages
| Bonjour, Je n'ai pas essayé sur les versions actuelles d'OS et d'Office, aussi, c'est sous toutes réserves que je propose une voie. Sous Office 5 (?) et Windows 3 (?), il fallait jouer sur les options régionales, non pas de Office mais de Windows. Essaie toujours et tiens-nous au courant ‼ @+ | | | | | davidouandco | Posté le 13/06/2008 à 18:46 | Petit astucien
7 Messages
| tout doit être absolument automatisé, ou bien est-ce que tu veux juste récupérer tes infos rapidement? j'ai pas trop le temps de chercher en macro mais une fois que t'as collé tes résultats en H18.... tu te mets en I18 (par exemple) tu met ' =CNUM(H18) ' pour reconvertir tes valeurs en numérique tu recopies ta formule vers le bas, et après tu sélectionnes tout ça et tu le recopies ailleur (genre J18) COLLAGE SPECIAL, VALEURS le tour est joué (en plus pas trop difficile d'écrire la formule en VBA, ni de la recoppier...) c'est de la bidouille, mais bon | | | | | davidouandco | Posté le 13/06/2008 à 18:57 | Petit astucien
7 Messages
| c'est un peu bourrin, mais si tu rajoutes le code qui suit à la fin du tiens (et l'adapte à ton besoin) tu récupères ainsi tes valeurs au format numérique : Range("I18").Formula = "=VALUE(RC[-1])" 'inscrit ta formule dans I18 Range("I18").AutoFill Destination:=Range("I18:I25"), Type:=xlFillDefault 'recopie ta formule (genre jusque I25...) Selection.Copy 'copie les données Range("J18").Select 'va sur J18 et collage spécial Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False | | | | | TheGni | Posté le 20/08/2008 à 11:22 | Petit astucien
1 Message
| Ou alors, faire un simple NombrePoint = Val(Str( NombreVirgule ))

| | | | | arrial | Posté le 21/08/2008 à 07:50 | Petit astucien
53 Messages
| "Les points ont bien été remplacés par des virgules, mais les données sont en format texte et excel me demande de les convertir en nombre, ce que je ne sais pas résoudre dans VBA."
Pitit complément : si tu entres une virgule du clavier alphabétique comme séparateur décimal, ça ne marche pas et le nombre est identifié comme un texte. Il faut IMPÉRATIVEMENT que la virgule soit une transformation du point du PAVÉ NUMÉRIQUE. Cela ne marche pas avec le point du PAVÉ ALPHABÉTIQUE. Il y a donc deux codes de points et deux codes de virgules. Ton problème réside là-dedans.
Ceci, dans Excel.
Selon mes vieux souvenirs, on entre des virgules alpha, sous VBA et ça doit marcher ? | | | |
| | Haut de la page |
| | Inscrivez-vous ! |
- Posez vos questions
- Résolvez vos problèmes
- Aidez les autres
- Participez et créez vos discussions
- Dialoguez en privé avec d'autres membres
- Suivez vos sujets préférés
- Affichez les signatures des membres
|
|