Sheets("Feuil1").Cells(1, 6).NumberFormat = "@" -- Amicales Salutations Retirer A_S_ pour répondre. XL 97 / 2000 / 2002 Pour suivre le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"twinley" a écrit dans le message de news:
Bonjour à tous,
J'utilise avec satisfaction et sans vergogne une formule fournie par un maestro es MPFE.
Pour convertir un string 123.4 en integer 123,4 Sheets("Feuil1").Cells(1, 6) = 1 * Application.Substitute(Sheets("Feuil1").Range("F1"), ".", ",")
C'est bô...et élégant.
Je pensais faire la manip inverse assez facilement en reprenant la même et en inversant le substitute ..Range("F1"), ",", ".")
Sheets("Feuil1").Cells(1, 6) = 1 * Application.Substitute(Sheets("Feuil1").Range("F1"), ",", ".") mais il y a une err13 type incompatible.
Si une bonne âme pouvait faire tourner cette formule, ou a défaut proposer une façon de faire ? Après tout, il faut tout goûter.
Merci d'avance
à+
Frédéric Sigonneau
Bonjour,
Si le séparateur décimal de ton système est la virgule, une fois la virgule remplacée par un point, le résultat, pour Excel, sera du texte. Et faire une opération sur du texte (1* etc.), Excel n'aime pas.. Par ailleurs, il faut un peu forcer la main d'Excel pour que le résultat soit bien réécrit comme du texte. Essaye comme ceci :
FS --- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour à tous,
J'utilise avec satisfaction et sans vergogne une formule fournie par un maestro es MPFE.
Pour convertir un string 123.4 en integer 123,4 Sheets("Feuil1").Cells(1, 6) = 1 * Application.Substitute(Sheets("Feuil1").Range("F1"), ".", ",")
C'est bô...et élégant.
Je pensais faire la manip inverse assez facilement en reprenant la même et en inversant le substitute ..Range("F1"), ",", ".")
Sheets("Feuil1").Cells(1, 6) = 1 * Application.Substitute(Sheets("Feuil1").Range("F1"), ",", ".") mais il y a une err13 type incompatible.
Si une bonne âme pouvait faire tourner cette formule, ou a défaut proposer une façon de faire ? Après tout, il faut tout goûter.
Merci d'avance
à+
Bonjour,
Si le séparateur décimal de ton système est la virgule, une fois la virgule
remplacée par un point, le résultat, pour Excel, sera du texte. Et faire une
opération sur du texte (1* etc.), Excel n'aime pas..
Par ailleurs, il faut un peu forcer la main d'Excel pour que le résultat soit
bien réécrit comme du texte. Essaye comme ceci :
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour à tous,
J'utilise avec satisfaction et sans vergogne une formule fournie par un maestro es MPFE.
Pour convertir un string 123.4 en integer 123,4
Sheets("Feuil1").Cells(1, 6) = 1 * Application.Substitute(Sheets("Feuil1").Range("F1"), ".", ",")
C'est bô...et élégant.
Je pensais faire la manip inverse assez facilement en reprenant la même et en inversant le substitute ..Range("F1"), ",", ".")
Sheets("Feuil1").Cells(1, 6) = 1 * Application.Substitute(Sheets("Feuil1").Range("F1"), ",", ".")
mais il y a une err13 type incompatible.
Si une bonne âme pouvait faire tourner cette formule, ou a défaut proposer une façon de faire ? Après tout, il faut tout goûter.
Si le séparateur décimal de ton système est la virgule, une fois la virgule remplacée par un point, le résultat, pour Excel, sera du texte. Et faire une opération sur du texte (1* etc.), Excel n'aime pas.. Par ailleurs, il faut un peu forcer la main d'Excel pour que le résultat soit bien réécrit comme du texte. Essaye comme ceci :
FS --- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour à tous,
J'utilise avec satisfaction et sans vergogne une formule fournie par un maestro es MPFE.
Pour convertir un string 123.4 en integer 123,4 Sheets("Feuil1").Cells(1, 6) = 1 * Application.Substitute(Sheets("Feuil1").Range("F1"), ".", ",")
C'est bô...et élégant.
Je pensais faire la manip inverse assez facilement en reprenant la même et en inversant le substitute ..Range("F1"), ",", ".")
Sheets("Feuil1").Cells(1, 6) = 1 * Application.Substitute(Sheets("Feuil1").Range("F1"), ",", ".") mais il y a une err13 type incompatible.
Si une bonne âme pouvait faire tourner cette formule, ou a défaut proposer une façon de faire ? Après tout, il faut tout goûter.
Merci d'avance
à+
twinley
Merci à vous pour ces réponses
Les trois produisent une "erreur d'éxécution 9 : l'indice n'apparaît pas à la sélection
Je ne suis pas loin mais un détail m'échappe encore. Je suis confiant pour la finalisation du débuggage..
à+
Merci à vous pour ces réponses
Les trois produisent une "erreur d'éxécution 9 : l'indice n'apparaît pas à la sélection
Je ne suis pas loin mais un détail m'échappe encore. Je suis confiant pour la finalisation du débuggage..
Les trois produisent une "erreur d'éxécution 9 : l'indice n'apparaît pas à la sélection
Je ne suis pas loin mais un détail m'échappe encore. Je suis confiant pour la finalisation du débuggage..
à+
michdenis
Bonjour twinley,
Est-ce que tu as une feuille qui porte le nom de "Feuil1" dans le classeur, ta formule fait référence à cette feuille. ?
Salutations!
"twinley" a écrit dans le message de news: Merci à vous pour ces réponses.
Les trois produisent une "erreur d'éxécution 9 : l'indice n'apparaît pas à la sélection"
Je ne suis pas loin mais un détail m'échappe encore. Je suis confiant pour la finalisation du débuggage...
à+
Bonjour twinley,
Est-ce que tu as une feuille qui porte le nom de "Feuil1" dans le classeur, ta formule fait référence à cette feuille. ?
Salutations!
"twinley" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:43326F39-74A6-43A7-89D6-2B20CF38429C@microsoft.com...
Merci à vous pour ces réponses.
Les trois produisent une "erreur d'éxécution 9 : l'indice n'apparaît pas à la sélection"
Je ne suis pas loin mais un détail m'échappe encore. Je suis confiant pour la finalisation du débuggage...
Est-ce que tu as une feuille qui porte le nom de "Feuil1" dans le classeur, ta formule fait référence à cette feuille. ?
Salutations!
"twinley" a écrit dans le message de news: Merci à vous pour ces réponses.
Les trois produisent une "erreur d'éxécution 9 : l'indice n'apparaît pas à la sélection"
Je ne suis pas loin mais un détail m'échappe encore. Je suis confiant pour la finalisation du débuggage...
à+
twinley
Ohlala, la honte... j'avais changé la reference de ma feuille par Feuil1. Quel c..
Merci Michdenis c'est bien ça, mais rien ne bouge avec ta formule, pas même une erreur Sheets("Feuil1").Cells(1, 6) = Application.Substitute(Sheets("Feuil1").Range("F1"), ",", "."
La soluce de Philip est nickel-chrome. Exactement ce que je voulais 'Sheets("tick").Cells(2, 6).NumberFormat = "@
et celle de Frédéric fonctionne comme une montre Suisse en or 'Sheets("Feuil1").Cells(1, 6) = "'" & Application.Substitute(Sheets("Feuil1").Range("F1"), ",", "."
Il aut se rendre à l'évidence le petit coup de "= "'" & Application.Substitute" fait la différence Je n'ose pas demander pourquoi et encore moins pourquoi le = "@" fonctionne aussi
Devant cette profusion de possibilité, j'ai une autre question. Comme savoir qu'elle formule est la moins gourmande en temps de calcul ? Existe t'il des benchs ou des info qui permettent de choisir la plus rapide des formules J'ai vu deux poste plus loin comment afficher les centièmes de secondes. C'est aussi une facon de faire
Tout baigne, ça marche comme je veux
Salutations respectueuses et admirative
à+
Ohlala, la honte... j'avais changé la reference de ma feuille par Feuil1. Quel c..
Merci Michdenis c'est bien ça, mais rien ne bouge avec ta formule, pas même une erreur
Sheets("Feuil1").Cells(1, 6) = Application.Substitute(Sheets("Feuil1").Range("F1"), ",", "."
La soluce de Philip est nickel-chrome. Exactement ce que je voulais
'Sheets("tick").Cells(2, 6).NumberFormat = "@
et celle de Frédéric fonctionne comme une montre Suisse en or
'Sheets("Feuil1").Cells(1, 6) = "'" & Application.Substitute(Sheets("Feuil1").Range("F1"), ",", "."
Il aut se rendre à l'évidence le petit coup de "= "'" & Application.Substitute" fait la différence
Je n'ose pas demander pourquoi
et encore moins pourquoi le = "@" fonctionne aussi
Devant cette profusion de possibilité, j'ai une autre question. Comme savoir qu'elle formule est la moins gourmande en temps de calcul ? Existe t'il des benchs ou des info qui permettent de choisir la plus rapide des formules
J'ai vu deux poste plus loin comment afficher les centièmes de secondes. C'est aussi une facon de faire
Ohlala, la honte... j'avais changé la reference de ma feuille par Feuil1. Quel c..
Merci Michdenis c'est bien ça, mais rien ne bouge avec ta formule, pas même une erreur Sheets("Feuil1").Cells(1, 6) = Application.Substitute(Sheets("Feuil1").Range("F1"), ",", "."
La soluce de Philip est nickel-chrome. Exactement ce que je voulais 'Sheets("tick").Cells(2, 6).NumberFormat = "@
et celle de Frédéric fonctionne comme une montre Suisse en or 'Sheets("Feuil1").Cells(1, 6) = "'" & Application.Substitute(Sheets("Feuil1").Range("F1"), ",", "."
Il aut se rendre à l'évidence le petit coup de "= "'" & Application.Substitute" fait la différence Je n'ose pas demander pourquoi et encore moins pourquoi le = "@" fonctionne aussi
Devant cette profusion de possibilité, j'ai une autre question. Comme savoir qu'elle formule est la moins gourmande en temps de calcul ? Existe t'il des benchs ou des info qui permettent de choisir la plus rapide des formules J'ai vu deux poste plus loin comment afficher les centièmes de secondes. C'est aussi une facon de faire
Tout baigne, ça marche comme je veux
Salutations respectueuses et admirative
à+
twinley
et le winner is..
la soluce de Frédéric car j'ai besoin de garder la cellule au format standard, pour entrer un chiffre avec virgule et il se cadre à droite La version "@" modifie le format en caractère. Et cela répond à une question que je me posais depuis un moment
Grâce à vous trois, quelle progression
à+
et le winner is..
la soluce de Frédéric car j'ai besoin de garder la cellule au format standard, pour entrer un chiffre avec virgule et il se cadre à droite
La version "@" modifie le format en caractère. Et cela répond à une question que je me posais depuis un moment
la soluce de Frédéric car j'ai besoin de garder la cellule au format standard, pour entrer un chiffre avec virgule et il se cadre à droite La version "@" modifie le format en caractère. Et cela répond à une question que je me posais depuis un moment
Grâce à vous trois, quelle progression
à+
twinley
Bonsoir
Finalement après avoir écrit plus bas que rien ne se passait, si on applique à une variable, cela marche parfaitement
Pas de changement Sheets("Feuil1").Cells(1, 6) = Application.Substitute(Sheets("Feuil1").Range("F1"), ",", "."
Envoi dans une variable string bravo : o bravo = Application.Substitute(Sheets("Feuil1").Range("F1"), ",", "."
Encore merci, mais que c'est subtile ce VBA...
Bonsoir
Finalement après avoir écrit plus bas que rien ne se passait, si on applique à une variable, cela marche parfaitement
Pas de changement
Sheets("Feuil1").Cells(1, 6) = Application.Substitute(Sheets("Feuil1").Range("F1"), ",", "."
Envoi dans une variable string bravo : o
bravo = Application.Substitute(Sheets("Feuil1").Range("F1"), ",", "."