OVH Cloud OVH Cloud

Esterreur et Cnum

6 réponses
Avatar
Yvan
Bonjour,

Dans l'une de mes macros, je souhaiter tester la valeur d'une série de
cellules présentées en colonne.

Si la valeur peut être convertie en nombre, on la convertit, sinon on la
laisse telle quelle.

J'aurais quelque chose du type :

For i=1 to 10
If esterreur(cnum(cells(i,1))=vrai then
Cells(i,1) = Cells(i,1)
Else
Cells(i,1) = Cnum(cells(i,1))
End if
Next i

Evidemment, je ne maitrise pas la syntaxe pour l'instruction comprise dans
la boucle. Quelqu'un peut-il m'aider ???
--
Merci pour vos réponses.

6 réponses

Avatar
michdenis
Bonjour Yvan

Essaie ceci :


For i = 1 To 10
If Cells(i, 1) <> "" Then
If IsNumeric(Cells(i, 1)) Then
Cells(i, 1).NumberFormat = "General"
Cells(i, 1) = Cells(i, 1) * 1
End If
End If
Next i


Salutations!



"Yvan" a écrit dans le message de news:
Bonjour,

Dans l'une de mes macros, je souhaiter tester la valeur d'une série de
cellules présentées en colonne.

Si la valeur peut être convertie en nombre, on la convertit, sinon on la
laisse telle quelle.

J'aurais quelque chose du type :

For i=1 to 10
If esterreur(cnum(cells(i,1))=vrai then
Cells(i,1) = Cells(i,1)
Else
Cells(i,1) = Cnum(cells(i,1))
End if
Next i

Evidemment, je ne maitrise pas la syntaxe pour l'instruction comprise dans
la boucle. Quelqu'un peut-il m'aider ???
--
Merci pour vos réponses.
Avatar
ru-th
Salut

en faisant dans le sauvage ;-)
For i = 1 To 10
On Error Resume Next
Cells(i, 1) = Cells(i, 1) * 1
Next
a+
rural thierry
"Yvan" a écrit dans le message de
news:
Bonjour,

Dans l'une de mes macros, je souhaiter tester la valeur d'une série de
cellules présentées en colonne.

Si la valeur peut être convertie en nombre, on la convertit, sinon on la
laisse telle quelle.

J'aurais quelque chose du type :

For i=1 to 10
If esterreur(cnum(cells(i,1))=vrai then
Cells(i,1) = Cells(i,1)
Else
Cells(i,1) = Cnum(cells(i,1))
End if
Next i

Evidemment, je ne maitrise pas la syntaxe pour l'instruction comprise dans
la boucle. Quelqu'un peut-il m'aider ???
--
Merci pour vos réponses.


Avatar
Yvan
Merci pour ta solution...
--
Merci pour vos réponses.



Salut

en faisant dans le sauvage ;-)
For i = 1 To 10
On Error Resume Next
Cells(i, 1) = Cells(i, 1) * 1
Next
a+
rural thierry
"Yvan" a écrit dans le message de
news:
Bonjour,

Dans l'une de mes macros, je souhaiter tester la valeur d'une série de
cellules présentées en colonne.

Si la valeur peut être convertie en nombre, on la convertit, sinon on la
laisse telle quelle.

J'aurais quelque chose du type :

For i=1 to 10
If esterreur(cnum(cells(i,1))=vrai then
Cells(i,1) = Cells(i,1)
Else
Cells(i,1) = Cnum(cells(i,1))
End if
Next i

Evidemment, je ne maitrise pas la syntaxe pour l'instruction comprise dans
la boucle. Quelqu'un peut-il m'aider ???
--
Merci pour vos réponses.







Avatar
Yvan
Merci. A la prochaine...
--
Merci pour vos réponses.



Bonjour Yvan

Essaie ceci :


For i = 1 To 10
If Cells(i, 1) <> "" Then
If IsNumeric(Cells(i, 1)) Then
Cells(i, 1).NumberFormat = "General"
Cells(i, 1) = Cells(i, 1) * 1
End If
End If
Next i


Salutations!



"Yvan" a écrit dans le message de news:
Bonjour,

Dans l'une de mes macros, je souhaiter tester la valeur d'une série de
cellules présentées en colonne.

Si la valeur peut être convertie en nombre, on la convertit, sinon on la
laisse telle quelle.

J'aurais quelque chose du type :

For i=1 to 10
If esterreur(cnum(cells(i,1))=vrai then
Cells(i,1) = Cells(i,1)
Else
Cells(i,1) = Cnum(cells(i,1))
End if
Next i

Evidemment, je ne maitrise pas la syntaxe pour l'instruction comprise dans
la boucle. Quelqu'un peut-il m'aider ???
--
Merci pour vos réponses.





Avatar
Yvan
Pourquoi ne mets-tu pas de else entre les 2 cells ???
--
Merci pour vos réponses.



Bonjour Yvan

Essaie ceci :


For i = 1 To 10
If Cells(i, 1) <> "" Then
If IsNumeric(Cells(i, 1)) Then
Cells(i, 1).NumberFormat = "General"
Cells(i, 1) = Cells(i, 1) * 1
End If
End If
Next i


Salutations!



"Yvan" a écrit dans le message de news:
Bonjour,

Dans l'une de mes macros, je souhaiter tester la valeur d'une série de
cellules présentées en colonne.

Si la valeur peut être convertie en nombre, on la convertit, sinon on la
laisse telle quelle.

J'aurais quelque chose du type :

For i=1 to 10
If esterreur(cnum(cells(i,1))=vrai then
Cells(i,1) = Cells(i,1)
Else
Cells(i,1) = Cnum(cells(i,1))
End if
Next i

Evidemment, je ne maitrise pas la syntaxe pour l'instruction comprise dans
la boucle. Quelqu'un peut-il m'aider ???
--
Merci pour vos réponses.





Avatar
michdenis
Bonjour Yvan,


| Pourquoi ne mets-tu pas de else entre les 2 cells ???

Parce que j'ai supposé que si la donnée de la cellule n'est pas de type numériqe et qu'elle n'est pas vide, c'est qu'elle contient
du texte..... Demande à Thierry ;-) et si tu n'as aucune opération à effectuer sur la donnée de ce type de cellule, il est inutile
de recopier vers la cellule elle-même, ce qu'elle contient déjà.


Salutations!