[VBA] Valeur numérique apparaissant en non numérique

Le
HD
Bonjour,

J'ai donné qui viennent d'un logiciel externe, parmi ces données j'ai
parfois des chiffres qui sont alignés à gauche et donc non reconnu comme
étant des chiffres. Je voudrais pouvoir m'assurer sur chaque cellule d'une
colonne que les chiffres présents soient bien considérés comme numérique
mais mon souci est que la fonction isnumeric me retournent vrai lorsque
je fais le test.

Y'aurait il une autre fonction pour tester, en VBA, la validité d'une valeur
numérique ?

Merci d'avance pour votre aide
--
@+
HD
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Tatanka
Le #23010651
Bonjour,

Peut-être ceci :
Application.IsNumber(ActiveCell)

Serge


On 11 jan, 11:25, "HD"
Bonjour,

J'ai donné qui viennent d'un logiciel externe, parmi ces données j'ai
parfois des chiffres qui sont alignés à gauche et donc non reconnu co mme
étant des chiffres. Je voudrais pouvoir m'assurer sur chaque cellule d' une
colonne que les chiffres présents soient bien considérés comme num érique
mais... mon souci est que la fonction isnumeric me retournent vrai lorsqu e
je fais le test.

Y'aurait il une autre fonction pour tester, en VBA, la validité d'une v aleur
numérique ?

Merci d'avance pour votre aide
--
@+
HD
Tatanka
Le #23010821
Sans macro, tu pourrais aussi essayer :

1) Sélectionne une cellule vraiment vide et tape Ctrl+C,
2) Sélectionne toutes tes données,
3) Clique sur Copier / Collage spécial et coche Addition.

Serge

On 11 jan, 11:36, Tatanka
Bonjour,

Peut-être ceci :
Application.IsNumber(ActiveCell)

Serge

On 11 jan, 11:25, "HD"


> Bonjour,

> J'ai donné qui viennent d'un logiciel externe, parmi ces données j' ai
> parfois des chiffres qui sont alignés à gauche et donc non reconnu comme
> étant des chiffres. Je voudrais pouvoir m'assurer sur chaque cellule d'une
> colonne que les chiffres présents soient bien considérés comme nu mérique
> mais... mon souci est que la fonction isnumeric me retournent vrai lors que
> je fais le test.

> Y'aurait il une autre fonction pour tester, en VBA, la validité d'une valeur
> numérique ?

> Merci d'avance pour votre aide
> --
> @+
> HD- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -
michdenis
Le #23013981
Bonjour,

Un exemple pour transformer toutes les données numériques
d'une plage de cellules en valeur numérique (affichage à droite)

'---------------------------------------
Sub test()
'Désactive les procédures événementielles
'le temps de l'exécution de ce qui suit.
Application.EnableEvents = False
With Sheet1
'insère la valeur 1 dans une cellule de ton choix
With .Range("Z1")
.Value = 1
'Copie dans le presse-papier
.Copy
End With
'Détermine la plage de cellules à traiter
With .Range("A1:A" & .Range("A65536").End(xlUp).Row)
'S'assure que tu n'as pas de caractères insécables
'Chr(160)dans ta plage de cellules.
.Replace Chr(160), ""
'effectue un collage spécial Valeur et Multiplication
.PasteSpecial xlPasteValues, xlPasteSpecialOperationMultiply
End With
'Vide la cellule de début de procédure
.Range("Z1") = ""
End With
'Désactive le mode Coller (élimine les pointillés autour
'de la cellule z1
Application.CutCopyMode = False
'Réactive les procédures événementielles
Application.EnableEvents = True
End Sub
'------------------------------------



MichD
--------------------------------------------
"HD" a écrit dans le message de groupe de discussion : igi0d3$pc9$

Bonjour,

J'ai donné qui viennent d'un logiciel externe, parmi ces données j'ai
parfois des chiffres qui sont alignés à gauche et donc non reconnu comme
étant des chiffres. Je voudrais pouvoir m'assurer sur chaque cellule d'une
colonne que les chiffres présents soient bien considérés comme numérique
mais... mon souci est que la fonction isnumeric me retournent vrai lorsque
je fais le test.

Y'aurait il une autre fonction pour tester, en VBA, la validité d'une valeur
numérique ?

Merci d'avance pour votre aide
--
@+
HD
Tatanka
Le #23014531
Salut Denis,

Ne serait-il pas plus prudent d'ajouter
.Replace Chr(32), ""
en bas de
.Replace Chr(160), ""
?

Et si on sait l'adresse de la plage concernée,
je propose ceci ( exemple ) :
Sub Numérique()
With Range("a1:a100")
.Replace Chr(160), ""
.Replace Chr(32), ""
End With
[a1:a100] = [1*a1:a100]
End Sub

Serge

On 12 jan, 09:01, "michdenis"
Bonjour,

Un exemple pour transformer toutes les données numériques
d'une plage de cellules en valeur numérique (affichage à droite)

'---------------------------------------
Sub test()
'Désactive les procédures événementielles
'le temps de l'exécution de ce qui suit.
Application.EnableEvents = False
With Sheet1
    'insère la valeur 1 dans une cellule de ton choix
    With .Range("Z1")
        .Value = 1
        'Copie dans le presse-papier
        .Copy
    End With
    'Détermine la plage de cellules à traiter
    With .Range("A1:A" & .Range("A65536").End(xlUp).Row)
        'S'assure que tu n'as pas de caractères insécables
        'Chr(160)dans ta plage de cellules.
        .Replace Chr(160), ""
        'effectue un collage spécial Valeur et Multiplication
        .PasteSpecial xlPasteValues, xlPasteSpecialOperationMulti ply
    End With
    'Vide la cellule de début de procédure
    .Range("Z1") = ""
End With
'Désactive le mode Coller (élimine les pointillés autour
'de la cellule z1
Application.CutCopyMode = False
'Réactive les procédures événementielles
Application.EnableEvents = True
End Sub
'------------------------------------

MichD
--------------------------------------------
"HD"  a écrit dans le message de groupe de discussion : igi0d3$pc...@ saria.nerim.net...

Bonjour,

J'ai donné qui viennent d'un logiciel externe, parmi ces données j'ai
parfois des chiffres qui sont alignés à gauche et donc non reconnu co mme
étant des chiffres. Je voudrais pouvoir m'assurer sur chaque cellule d' une
colonne que les chiffres présents soient bien considérés comme num érique
mais... mon souci est que la fonction isnumeric me retournent vrai lorsqu e
je fais le test.

Y'aurait il une autre fonction pour tester, en VBA, la validité d'une v aleur
numérique ?

Merci d'avance pour votre aide
--
@+
HD
michdenis
Le #23014631
| Ne serait-il pas plus prudent d'ajouter
| .Replace Chr(32), ""

Pourquoi pas Serge, on n'est jamais trop prudent !
;-)


MichD
--------------------------------------------
"Tatanka" a écrit dans le message de groupe de discussion :


Salut Denis,

Ne serait-il pas plus prudent d'ajouter
.Replace Chr(32), ""
en bas de
.Replace Chr(160), ""
?

Et si on sait l'adresse de la plage concernée,
je propose ceci ( exemple ) :
Sub Numérique()
With Range("a1:a100")
.Replace Chr(160), ""
.Replace Chr(32), ""
End With
[a1:a100] = [1*a1:a100]
End Sub

Serge

On 12 jan, 09:01, "michdenis"
Bonjour,

Un exemple pour transformer toutes les données numériques
d'une plage de cellules en valeur numérique (affichage à droite)

'---------------------------------------
Sub test()
'Désactive les procédures événementielles
'le temps de l'exécution de ce qui suit.
Application.EnableEvents = False
With Sheet1
'insère la valeur 1 dans une cellule de ton choix
With .Range("Z1")
.Value = 1
'Copie dans le presse-papier
.Copy
End With
'Détermine la plage de cellules à traiter
With .Range("A1:A" & .Range("A65536").End(xlUp).Row)
'S'assure que tu n'as pas de caractères insécables
'Chr(160)dans ta plage de cellules.
.Replace Chr(160), ""
'effectue un collage spécial Valeur et Multiplication
.PasteSpecial xlPasteValues, xlPasteSpecialOperationMultiply
End With
'Vide la cellule de début de procédure
.Range("Z1") = ""
End With
'Désactive le mode Coller (élimine les pointillés autour
'de la cellule z1
Application.CutCopyMode = False
'Réactive les procédures événementielles
Application.EnableEvents = True
End Sub
'------------------------------------

MichD
--------------------------------------------
"HD" a écrit dans le message de groupe de discussion : igi0d3$

Bonjour,

J'ai donné qui viennent d'un logiciel externe, parmi ces données j'ai
parfois des chiffres qui sont alignés à gauche et donc non reconnu comme
étant des chiffres. Je voudrais pouvoir m'assurer sur chaque cellule d'une
colonne que les chiffres présents soient bien considérés comme numérique
mais... mon souci est que la fonction isnumeric me retournent vrai lorsque
je fais le test.

Y'aurait il une autre fonction pour tester, en VBA, la validité d'une valeur
numérique ?

Merci d'avance pour votre aide
--
@+
HD
Tatanka
Le #23014761
;-)

Nécessaire si, par exemple :
1 2 3 4
'987 98

Serge


"michdenis"
| Ne serait-il pas plus prudent d'ajouter
| .Replace Chr(32), ""

Pourquoi pas Serge, on n'est jamais trop prudent !
;-)


MichD
--------------------------------------------
"Tatanka" a écrit dans le message de groupe de discussion :


Salut Denis,

Ne serait-il pas plus prudent d'ajouter
.Replace Chr(32), ""
en bas de
.Replace Chr(160), ""
?

Et si on sait l'adresse de la plage concernée,
je propose ceci ( exemple ) :
Sub Numérique()
With Range("a1:a100")
.Replace Chr(160), ""
.Replace Chr(32), ""
End With
[a1:a100] = [1*a1:a100]
End Sub

Serge

On 12 jan, 09:01, "michdenis"
Bonjour,

Un exemple pour transformer toutes les données numériques
d'une plage de cellules en valeur numérique (affichage à droite)

'---------------------------------------
Sub test()
'Désactive les procédures événementielles
'le temps de l'exécution de ce qui suit.
Application.EnableEvents = False
With Sheet1
'insère la valeur 1 dans une cellule de ton choix
With .Range("Z1")
.Value = 1
'Copie dans le presse-papier
.Copy
End With
'Détermine la plage de cellules à traiter
With .Range("A1:A" & .Range("A65536").End(xlUp).Row)
'S'assure que tu n'as pas de caractères insécables
'Chr(160)dans ta plage de cellules.
.Replace Chr(160), ""
'effectue un collage spécial Valeur et Multiplication
.PasteSpecial xlPasteValues, xlPasteSpecialOperationMultiply
End With
'Vide la cellule de début de procédure
.Range("Z1") = ""
End With
'Désactive le mode Coller (élimine les pointillés autour
'de la cellule z1
Application.CutCopyMode = False
'Réactive les procédures événementielles
Application.EnableEvents = True
End Sub
'------------------------------------

MichD
--------------------------------------------
"HD" a écrit dans le message de groupe de discussion : igi0d3$

Bonjour,

J'ai donné qui viennent d'un logiciel externe, parmi ces données j'ai
parfois des chiffres qui sont alignés à gauche et donc non reconnu comme
étant des chiffres. Je voudrais pouvoir m'assurer sur chaque cellule d'une
colonne que les chiffres présents soient bien considérés comme numérique
mais... mon souci est que la fonction isnumeric me retournent vrai lorsque
je fais le test.

Y'aurait il une autre fonction pour tester, en VBA, la validité d'une valeur
numérique ?

Merci d'avance pour votre aide
--
@+
HD



Tatanka
Le #23014831
Nécessaire si, par exemple :
1 2 3 4
'987 98



Mais ça tu le savais sûrement.
Juste un test pour savoir si mes messages se rendent
aujourd'hui à partir de nntp.aioe.org
Le précédent, oui, mais pas celui-ci (passé par Google groupes) !
Tabarnak !!!

Serge
michdenis
Le #23015581
| Juste un test pour savoir si mes messages se rendent
| aujourd'hui à partir de nntp.aioe.org

As-tu essayé de supprimer cette connexion (forum de discussion)
de redémarrer et de refaire la connexion ?

Ce n'est qu'une suggestion !


MichD
--------------------------------------------
"Tatanka" a écrit dans le message de groupe de discussion :


Nécessaire si, par exemple :
1 2 3 4
'987 98



Mais ça tu le savais sûrement.
Juste un test pour savoir si mes messages se rendent
aujourd'hui à partir de nntp.aioe.org
Le précédent, oui, mais pas celui-ci (passé par Google groupes) !
Tabarnak !!!

Serge
Tatanka
Le #23015831
J'ai tout essayé ( supprimer le serveur et le réinstaller,
redémarrer l'ordi, invoquer les dieux ... ) sans succès
durant trois jours mais aujourd'hui, je n'ai rien fait et
ça fonctionne. Mystère et boule de gomme !

Serge

"michdenis"
| Juste un test pour savoir si mes messages se rendent
| aujourd'hui à partir de nntp.aioe.org

As-tu essayé de supprimer cette connexion (forum de discussion)
de redémarrer et de refaire la connexion ?

Ce n'est qu'une suggestion !


MichD
--------------------------------------------
"Tatanka" a écrit dans le message de groupe de discussion :


Nécessaire si, par exemple :
1 2 3 4
'987 98



Mais ça tu le savais sûrement.
Juste un test pour savoir si mes messages se rendent
aujourd'hui à partir de nntp.aioe.org
Le précédent, oui, mais pas celui-ci (passé par Google groupes) !
Tabarnak !!!

Serge

HD
Le #23016861
Application.IsNumber(ActiveCell)


Effectivement... ça m'affiche bien si la valeur de la cellule est considérée
comme numérique ou non.

--
@+
HD
Publicité
Poster une réponse
Anonyme