Petite modif

Le
Guy72
Bonjour,
Actuellement, j'ai ce code :
Sub convertir()
For Each c In Range([A9], [H490].End(xlUp))
c.Value = Val(c.Value)
Next c
End Sub

Peut-on le modifier pour faire ça ?

Sub convertir()
For Each c In Range([A9], [A9:H490;J9:J490].End(xlUp))
c.Value = Val(c.Value)
Next c
End Sub


Merci de votre aide

--
Cordialement
Guy
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Philippe.R
Le #20799621
Bonjour,
Quel résultat attends tu de cette modification ?
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Guy72" news:%
Bonjour,
Actuellement, j'ai ce code :
Sub convertir()
For Each c In Range([A9], [H490].End(xlUp))
c.Value = Val(c.Value)
Next c
End Sub

Peut-on le modifier pour faire ça ?

Sub convertir()
For Each c In Range([A9], [A9:H490;J9:J490].End(xlUp))
c.Value = Val(c.Value)
Next c
End Sub


Merci de votre aide

--
Cordialement
Guy



Guy72
Le #20799711
Bonjour,
Merci de me répondre
Actuellement la plage A9:J490 est en texte.
1012.6 18.4 52 -1.7 77 -5.2 -1.7 0.7 NE 226.3 00:01
1012.7 18.3 52 -1.7 77 -5.2 -1.7 1.8 NE 226.3 00:04
1012.7 18.3 52 -1.7 77 -5.2 -1.7 2.8 NE 226.3 00:07
1012.6 18.3 52 -1.7 77 -5.2 -1.7 1.0 NE 226.3 00:10
1012.7 18.3 52 -1.8 77 -5.3 -1.8 5.4 NE 226.3 00:13
1012.7 18.2 52 -1.8 77 -5.3 -1.8 2.8 NE 226.3 00:16
1012.5 18.2 52 -1.8 77 -5.3 -1.8 2.5 NE 226.3 00:19
1012.6 18.2 52 -1.8 77 -5.3 -1.8 1.4 NE 226.3 00:22

etc.....
Le 1er code transforme la plage A9: J490 en nombre de manière à pouvoir
faires des formules : tel que MAX, MIN etc....
ça fonctionne, mais le problème, c'est que, je souhaiterais que la colonne
"I" (là ou il y a NE) reste en texte.
--
Cordialement
Guy

"Philippe.R"
Bonjour,
Quel résultat attends tu de cette modification ?
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Guy72" news:%
Bonjour,
Actuellement, j'ai ce code :
Sub convertir()
For Each c In Range([A9], [H490].End(xlUp))
c.Value = Val(c.Value)
Next c
End Sub

Peut-on le modifier pour faire ça ?

Sub convertir()
For Each c In Range([A9], [A9:H490;J9:J490].End(xlUp))
c.Value = Val(c.Value)
Next c
End Sub


Merci de votre aide

--
Cordialement
Guy






FS
Le #20800101
Bonjour,

> ça fonctionne, mais le problème, c'est que, je souhaiterais que la
> colonne "I" (là ou il y a NE) reste en texte.

As-tu essayé de ne traiter que les cellules qui ne contiennent pas de
texte (Val renvoyant 0 s'il ne rencontre que du texte) :

Sub convertir()
For Each c In Range([A9], [H490].End(xlUp))
If Val(c.Value) <> 0 Then c.Value = Val(c.Value)
Next c
End Sub

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Guy72 a écrit :
Bonjour,
Merci de me répondre
Actuellement la plage A9:J490 est en texte.
1012.6 18.4 52 -1.7 77 -5.2 -1.7 0.7 NE 226.3 00:01
1012.7 18.3 52 -1.7 77 -5.2 -1.7 1.8 NE 226.3 00:04
1012.7 18.3 52 -1.7 77 -5.2 -1.7 2.8 NE 226.3 00:07
1012.6 18.3 52 -1.7 77 -5.2 -1.7 1.0 NE 226.3 00:10
1012.7 18.3 52 -1.8 77 -5.3 -1.8 5.4 NE 226.3 00:13
1012.7 18.2 52 -1.8 77 -5.3 -1.8 2.8 NE 226.3 00:16
1012.5 18.2 52 -1.8 77 -5.3 -1.8 2.5 NE 226.3 00:19
1012.6 18.2 52 -1.8 77 -5.3 -1.8 1.4 NE 226.3 00:22

etc.....
Le 1er code transforme la plage A9: J490 en nombre de manière à pouvoir
faires des formules : tel que MAX, MIN etc....
ça fonctionne, mais le problème, c'est que, je souhaiterais que la colonne
"I" (là ou il y a NE) reste en texte.


Philippe.R
Le #20800091
Re,
Tu peux essayer avec :

Sub convertir_b()
For Each c In Union(Range([a9], [h490].End(xlUp)), _
Range([j9], [j490].End(xlUp))).Select
c.Value = Val(c.Value)
Next c
End Sub

--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Guy72" news:
Bonjour,
Merci de me répondre
Actuellement la plage A9:J490 est en texte.
1012.6 18.4 52 -1.7 77 -5.2 -1.7 0.7 NE 226.3 00:01
1012.7 18.3 52 -1.7 77 -5.2 -1.7 1.8 NE 226.3 00:04
1012.7 18.3 52 -1.7 77 -5.2 -1.7 2.8 NE 226.3 00:07
1012.6 18.3 52 -1.7 77 -5.2 -1.7 1.0 NE 226.3 00:10
1012.7 18.3 52 -1.8 77 -5.3 -1.8 5.4 NE 226.3 00:13
1012.7 18.2 52 -1.8 77 -5.3 -1.8 2.8 NE 226.3 00:16
1012.5 18.2 52 -1.8 77 -5.3 -1.8 2.5 NE 226.3 00:19
1012.6 18.2 52 -1.8 77 -5.3 -1.8 1.4 NE 226.3 00:22

etc.....
Le 1er code transforme la plage A9: J490 en nombre de manière à pouvoir
faires des formules : tel que MAX, MIN etc....
ça fonctionne, mais le problème, c'est que, je souhaiterais que la colonne
"I" (là ou il y a NE) reste en texte.
--
Cordialement
Guy

"Philippe.R"
Bonjour,
Quel résultat attends tu de cette modification ?
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Guy72" news:%
Bonjour,
Actuellement, j'ai ce code :
Sub convertir()
For Each c In Range([A9], [H490].End(xlUp))
c.Value = Val(c.Value)
Next c
End Sub

Peut-on le modifier pour faire ça ?

Sub convertir()
For Each c In Range([A9], [A9:H490;J9:J490].End(xlUp))
c.Value = Val(c.Value)
Next c
End Sub


Merci de votre aide

--
Cordialement
Guy










Philippe.R
Le #20800081
Oups :

Sub convertir_b()
For Each c In Union(Range([a9], [h490].End(xlUp)), _
Range([j9], [j490].End(xlUp)))
c.Value = Val(c.Value)
Next c
End Sub

le .select était une scorie du test
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Philippe.R" news:
Re,
Tu peux essayer avec :

Sub convertir_b()
For Each c In Union(Range([a9], [h490].End(xlUp)), _
Range([j9], [j490].End(xlUp))).Select
c.Value = Val(c.Value)
Next c
End Sub

--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Guy72" news:
Bonjour,
Merci de me répondre
Actuellement la plage A9:J490 est en texte.
1012.6 18.4 52 -1.7 77 -5.2 -1.7 0.7 NE 226.3 00:01
1012.7 18.3 52 -1.7 77 -5.2 -1.7 1.8 NE 226.3 00:04
1012.7 18.3 52 -1.7 77 -5.2 -1.7 2.8 NE 226.3 00:07
1012.6 18.3 52 -1.7 77 -5.2 -1.7 1.0 NE 226.3 00:10
1012.7 18.3 52 -1.8 77 -5.3 -1.8 5.4 NE 226.3 00:13
1012.7 18.2 52 -1.8 77 -5.3 -1.8 2.8 NE 226.3 00:16
1012.5 18.2 52 -1.8 77 -5.3 -1.8 2.5 NE 226.3 00:19
1012.6 18.2 52 -1.8 77 -5.3 -1.8 1.4 NE 226.3 00:22

etc.....
Le 1er code transforme la plage A9: J490 en nombre de manière à pouvoir
faires des formules : tel que MAX, MIN etc....
ça fonctionne, mais le problème, c'est que, je souhaiterais que la
colonne "I" (là ou il y a NE) reste en texte.
--
Cordialement
Guy

"Philippe.R" news:
Bonjour,
Quel résultat attends tu de cette modification ?
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Guy72" news:%
Bonjour,
Actuellement, j'ai ce code :
Sub convertir()
For Each c In Range([A9], [H490].End(xlUp))
c.Value = Val(c.Value)
Next c
End Sub

Peut-on le modifier pour faire ça ?

Sub convertir()
For Each c In Range([A9], [A9:H490;J9:J490].End(xlUp))
c.Value = Val(c.Value)
Next c
End Sub


Merci de votre aide

--
Cordialement
Guy













Guy72
Le #20800271
Ok, les deux solutions fonctionnent.
Merci à tous les deux.
--
Cordialement
Guy

"Philippe.R" %
Oups :

Sub convertir_b()
For Each c In Union(Range([a9], [h490].End(xlUp)), _
Range([j9], [j490].End(xlUp)))
c.Value = Val(c.Value)
Next c
End Sub

le .select était une scorie du test
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Philippe.R" news:
Re,
Tu peux essayer avec :

Sub convertir_b()
For Each c In Union(Range([a9], [h490].End(xlUp)), _
Range([j9], [j490].End(xlUp))).Select
c.Value = Val(c.Value)
Next c
End Sub

--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Guy72" news:
Bonjour,
Merci de me répondre
Actuellement la plage A9:J490 est en texte.
1012.6 18.4 52 -1.7 77 -5.2 -1.7 0.7 NE 226.3 00:01
1012.7 18.3 52 -1.7 77 -5.2 -1.7 1.8 NE 226.3 00:04
1012.7 18.3 52 -1.7 77 -5.2 -1.7 2.8 NE 226.3 00:07
1012.6 18.3 52 -1.7 77 -5.2 -1.7 1.0 NE 226.3 00:10
1012.7 18.3 52 -1.8 77 -5.3 -1.8 5.4 NE 226.3 00:13
1012.7 18.2 52 -1.8 77 -5.3 -1.8 2.8 NE 226.3 00:16
1012.5 18.2 52 -1.8 77 -5.3 -1.8 2.5 NE 226.3 00:19
1012.6 18.2 52 -1.8 77 -5.3 -1.8 1.4 NE 226.3 00:22

etc.....
Le 1er code transforme la plage A9: J490 en nombre de manière à pouvoir
faires des formules : tel que MAX, MIN etc....
ça fonctionne, mais le problème, c'est que, je souhaiterais que la
colonne "I" (là ou il y a NE) reste en texte.
--
Cordialement
Guy

"Philippe.R" news:
Bonjour,
Quel résultat attends tu de cette modification ?
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Guy72" news:%
Bonjour,
Actuellement, j'ai ce code :
Sub convertir()
For Each c In Range([A9], [H490].End(xlUp))
c.Value = Val(c.Value)
Next c
End Sub

Peut-on le modifier pour faire ça ?

Sub convertir()
For Each c In Range([A9], [A9:H490;J9:J490].End(xlUp))
c.Value = Val(c.Value)
Next c
End Sub


Merci de votre aide

--
Cordialement
Guy
















Modeste
Le #20800751
Bonsour® Guy72 avec ferveur ;o))) vous nous disiez :

Merci de me répondre
Actuellement la plage A9:J490 est en texte.
1012.6 18.4 52 -1.7 77 -5.2 -1.7 0.7 NE 226.3 00:01
1012.7 18.3 52 -1.7 77 -5.2 -1.7 1.8 NE 226.3 00:04
1012.7 18.3 52 -1.7 77 -5.2 -1.7 2.8 NE 226.3 00:07
1012.6 18.3 52 -1.7 77 -5.2 -1.7 1.0 NE 226.3 00:10
1012.7 18.3 52 -1.8 77 -5.3 -1.8 5.4 NE 226.3 00:13
1012.7 18.2 52 -1.8 77 -5.3 -1.8 2.8 NE 226.3 00:16
1012.5 18.2 52 -1.8 77 -5.3 -1.8 2.5 NE 226.3 00:19
1012.6 18.2 52 -1.8 77 -5.3 -1.8 1.4 NE 226.3 00:22

etc.....
Le 1er code transforme la plage A9: J490 en nombre de manière à
pouvoir faires des formules : tel que MAX, MIN etc....
ça fonctionne, mais le problème, c'est que, je souhaiterais que la
colonne "I" (là ou il y a NE) reste en texte.



Pourquoi ne pas convertir lors de l'import (.txt dans EXCEL)????

Sub Get_releves()
' Macro enregistrée le 18/12/2009 par geedee

Dim FileToOpen As Variant, newcol As Integer, nblin As Integer, ligne As Integer
FileToOpen = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If FileToOpen = False Then Exit Sub '
Application.ScreenUpdating = False
' -------les infos de champs se charge de convertir automatiquement
' -------les données au type convenable
Workbooks.OpenText Filename:=FileToOpen, _
Origin:=xlWindows, StartRow:=3, DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:úlse, _
Tab:=True, Semicolon:úlse, Comma:úlse, Space:úlse, Other:úlse, _
FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), _
Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 4)), _
DecimalSeparator:=".", TrailingMinusNumbers:úlse, local:=True
' ------ on crée ici une colonne concatenation date/heure
newcol = 1 + ActiveSheet.[A1].CurrentRegion.Columns.Count
nblin = ActiveSheet.[A1].CurrentRegion.Rows.Count
With Cells(1, newcol)
.FormulaR1C1 = "=RC[-1]+RC[-2]"
.AutoFill Destination:=Range(Cells(1, newcol), Cells(nblin, newcol))
End With
' ------ on converti la formule en valeur
For ligne = 1 To nblin
With Cells(ligne, newcol)
.Value = .Value
.NumberFormat = "yyyy/mm/dd hh:mm"
End With
Next
Application.ScreenUpdating = True
End Sub
Publicité
Poster une réponse
Anonyme