OVH Cloud OVH Cloud

Convertir en nombre

5 réponses
Avatar
Claire
Bonjour,
J'ai un petit problème avec la formule suivante:

Range(cc, C).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply,
SkipBlanks:=False, Transpose:=False

Cette formule doit convertir en nombre des nombres qui sont en texte. Je le
fais manuellement, tout va bien. J'enregistre en macro. J'applique la
macro et c'est là que la sauce se gâte. Elle ne fonctionne pas.

Voici ma routine:
Columns("C:C").Select
'je dois remplacer le point par une virgule
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

With Range("d1")
.Formula = 1
.Copy
End With
ActiveCell.Offset(dernier - 1, 0).Select
C = ActiveCell.Address
cc = Range("c1").Address

Range(cc, C).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False


Merci beaucoup
Claire

5 réponses

Avatar
isabelle
bonjour Claire,

essaie dans cette ordre,

ActiveCell.Offset(dernier - 1, 0).Select
C = ActiveCell.Address
cc = Range("c1").Address

With Range("d1")
.Formula = 1
.Copy
End With

Range(cc, C).PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:úlse, Transpose:úlse

isbelle


Bonjour,
J'ai un petit problème avec la formule suivante:

Range(cc, C).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply,
SkipBlanks:úlse, Transpose:úlse

Cette formule doit convertir en nombre des nombres qui sont en texte. Je le
fais manuellement, tout va bien. J'enregistre en macro. J'applique la
macro et c'est là que la sauce se gâte. Elle ne fonctionne pas.

Voici ma routine:
Columns("C:C").Select
'je dois remplacer le point par une virgule
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByColumns, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse

With Range("d1")
.Formula = 1
.Copy
End With
ActiveCell.Offset(dernier - 1, 0).Select
C = ActiveCell.Address
cc = Range("c1").Address

Range(cc, C).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:úlse, Transpose:úlse

Merci beaucoup
Claire


Avatar
AV
Pour transformer en nombre :
[C1:C10] = [C1:C10*1]

Avec la plage de fin variable :
derL = [c65536].End(3).Row
Range("C1:C" & derL) = Evaluate("C1:C" & derL & "*1")

AV
Avatar
Claire
Bonjour Isabelle.

Mon problème est toujours le même. J'ai toujours une erreur dans les
cellules ou il y a des décimales.

Merci tout de même
Claire

"isabelle" a écrit dans le message de
news:
bonjour Claire,

essaie dans cette ordre,

ActiveCell.Offset(dernier - 1, 0).Select
C = ActiveCell.Address
cc = Range("c1").Address

With Range("d1")
.Formula = 1
.Copy
End With

Range(cc, C).PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:úlse, Transpose:úlse

isbelle


Bonjour,
J'ai un petit problème avec la formule suivante:

Range(cc, C).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply,
SkipBlanks:úlse, Transpose:úlse

Cette formule doit convertir en nombre des nombres qui sont en texte.
Je le


fais manuellement, tout va bien. J'enregistre en macro. J'applique la
macro et c'est là que la sauce se gâte. Elle ne fonctionne pas.

Voici ma routine:
Columns("C:C").Select
'je dois remplacer le point par une virgule
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByColumns, MatchCase:úlse, SearchFormat:úlse,
_


ReplaceFormat:úlse

With Range("d1")
.Formula = 1
.Copy
End With
ActiveCell.Offset(dernier - 1, 0).Select
C = ActiveCell.Address
cc = Range("c1").Address

Range(cc, C).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:úlse, Transpose:úlse

Merci beaucoup
Claire




Avatar
Philippe.R
Bonjour Claire,
Si la plage que tu souhaites convertir est bien, comme je crois le comprendre, la partie renseignée de
la colonne C, tu remplaces toute ta routine par celle ci, proposée par Alain :

'Avec la plage de fin variable :
derL = [c65536].End(3).Row
Range("C1:C" & derL) = Evaluate("C1:C" & derL & "*1")

Sinon, précise un peu plus.
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.

"Claire" a écrit dans le message de news:

Bonjour Isabelle.

Mon problème est toujours le même. J'ai toujours une erreur dans les
cellules ou il y a des décimales.

Merci tout de même
Claire

"isabelle" a écrit dans le message de
news:
bonjour Claire,

essaie dans cette ordre,

ActiveCell.Offset(dernier - 1, 0).Select
C = ActiveCell.Address
cc = Range("c1").Address

With Range("d1")
.Formula = 1
.Copy
End With

Range(cc, C).PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:úlse, Transpose:úlse

isbelle


Bonjour,
J'ai un petit problème avec la formule suivante:

Range(cc, C).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply,
SkipBlanks:úlse, Transpose:úlse

Cette formule doit convertir en nombre des nombres qui sont en texte.
Je le


fais manuellement, tout va bien. J'enregistre en macro. J'applique la
macro et c'est là que la sauce se gâte. Elle ne fonctionne pas.

Voici ma routine:
Columns("C:C").Select
'je dois remplacer le point par une virgule
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByColumns, MatchCase:úlse, SearchFormat:úlse,
_


ReplaceFormat:úlse

With Range("d1")
.Formula = 1
.Copy
End With
ActiveCell.Offset(dernier - 1, 0).Select
C = ActiveCell.Address
cc = Range("c1").Address

Range(cc, C).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:úlse, Transpose:úlse

Merci beaucoup
Claire








Avatar
Claire
Bonjour Philippe,
Je te remercie la solution proposée par Alain a fait merveille.

Merci mille fois et bisous
Claire

"Philippe.R" a écrit dans le message de
news:
Bonjour Claire,
Si la plage que tu souhaites convertir est bien, comme je crois le
comprendre, la partie renseignée de

la colonne C, tu remplaces toute ta routine par celle ci, proposée par
Alain :


'Avec la plage de fin variable :
derL = [c65536].End(3).Row
Range("C1:C" & derL) = Evaluate("C1:C" & derL & "*1")

Sinon, précise un peu plus.
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.

"Claire" a écrit dans le message de news:

Bonjour Isabelle.

Mon problème est toujours le même. J'ai toujours une erreur dans les
cellules ou il y a des décimales.

Merci tout de même
Claire

"isabelle" a écrit dans le message de
news:
bonjour Claire,

essaie dans cette ordre,

ActiveCell.Offset(dernier - 1, 0).Select
C = ActiveCell.Address
cc = Range("c1").Address

With Range("d1")
.Formula = 1
.Copy
End With

Range(cc, C).PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:úlse, Transpose:úlse

isbelle


Bonjour,
J'ai un petit problème avec la formule suivante:

Range(cc, C).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply,
SkipBlanks:úlse, Transpose:úlse

Cette formule doit convertir en nombre des nombres qui sont en texte.
Je le


fais manuellement, tout va bien. J'enregistre en macro. J'applique
la




macro et c'est là que la sauce se gâte. Elle ne fonctionne pas.

Voici ma routine:
Columns("C:C").Select
'je dois remplacer le point par une virgule
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByColumns, MatchCase:úlse,
SearchFormat:úlse,




_
ReplaceFormat:úlse

With Range("d1")
.Formula = 1
.Copy
End With
ActiveCell.Offset(dernier - 1, 0).Select
C = ActiveCell.Address
cc = Range("c1").Address

Range(cc, C).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:úlse, Transpose:úlse

Merci beaucoup
Claire