Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

CNUM en VBA

7 réponses
Avatar
Eric RENAUD
Bonjour,
Je souhaite balayer une plage et remplacer la cellule active par un CNUM de
la la cellule active
Via VBA, je ne trouve pas la syntaxe qui devrait faire la chose suivante :

ActiveCell.Value=CNUM de l'ActiveCell
For Each cell In Selection
cell.Value = "=VALUE(activecell.value)" ... ca ne marche pas !!!
Next cell

D'avance merci.

7 réponses

Avatar
Denis Michon
Bonjour Eric,

Cela dépend de ce que tu as dans tes cellules !

Dans l'aide vba, regarde sous la rubrique : "Fonction de conversion" , plusieurs sont disponibles !

Est-ce que tu désires seulement faire disparaître un formatage particulier ?


Salutations!


"Eric RENAUD" a écrit dans le message de news:eLV9V$%
Bonjour,
Je souhaite balayer une plage et remplacer la cellule active par un CNUM de
la la cellule active
Via VBA, je ne trouve pas la syntaxe qui devrait faire la chose suivante :

ActiveCell.Value=CNUM de l'ActiveCell
For Each cell In Selection
cell.Value = "=VALUE(activecell.value)" ... ca ne marche pas !!!
Next cell

D'avance merci.
Avatar
isabelle
bonjour Eric,

comme te la dit Denis ça dépend de ce qu'il y a des les cellules
exemple:

Dim MyValue
MyValue = Val("2457") ' Renvoie 2457.
MyValue = Val(" 2 45 7") ' Renvoie 2457.
MyValue = Val("24 et 57") ' Renvoie 24.

plusieurs autre exemple sous la rubrique : Fonctions de conversion de
types de données

isabelle


Bonjour,
Je souhaite balayer une plage et remplacer la cellule active par un CNUM de
la la cellule active
Via VBA, je ne trouve pas la syntaxe qui devrait faire la chose suivante :

ActiveCell.Value=CNUM de l'ActiveCell
For Each cell In Selection
cell.Value = "=VALUE(activecell.value)" ... ca ne marche pas !!!
Next cell

D'avance merci.


Avatar
Eric RENAUD
J'ai des valeurs qui sont au format TEXTE (ex. 0110250) et comme par
ailleurs j'utilse un RECHERCHEV avec les mêmes valeurs au format Numérique
(Ex. 1100250), je ne peux pas récupérer les données correspondantes.

"Denis Michon" a écrit dans le message de news:
G_xjb.170404$
Bonjour Eric,

Cela dépend de ce que tu as dans tes cellules !

Dans l'aide vba, regarde sous la rubrique : "Fonction de conversion" ,
plusieurs sont disponibles !


Est-ce que tu désires seulement faire disparaître un formatage particulier
?



Salutations!


"Eric RENAUD" a écrit dans le message de
news:eLV9V$%

Bonjour,
Je souhaite balayer une plage et remplacer la cellule active par un CNUM
de

la la cellule active
Via VBA, je ne trouve pas la syntaxe qui devrait faire la chose suivante :

ActiveCell.Value=CNUM de l'ActiveCell
For Each cell In Selection
cell.Value = "=VALUE(activecell.value)" ... ca ne marche pas !!!
Next cell

D'avance merci.





Avatar
AV
Dans la mesure ou, dans la cellule, il n'y a que des valeurs numériques(quel que
soit le format), XL est capable d'interpréter sans avoir recours à une fonction
de conversion:

[A1]=[A1]*1 devrait suffire

Ex :
0012345 --> 12345
00 12 34 5 --> 12345

AV
Avatar
Christian M
Bonsoir
Je pense que tu formate en texte pour avoir les zéros affichés. Tu pourrais
obtenir le m^me affichage en créant un format de cellule personnalisé avec 7
fois le 0 (apparemment tu as 7 chiffres dans ta référence)

"Eric RENAUD" a écrit dans le message de news:
e#7Svj$
J'ai des valeurs qui sont au format TEXTE (ex. 0110250) et comme par
ailleurs j'utilse un RECHERCHEV avec les mêmes valeurs au format Numérique
(Ex. 1100250), je ne peux pas récupérer les données correspondantes.

"Denis Michon" a écrit dans le message de news:
G_xjb.170404$
Bonjour Eric,

Cela dépend de ce que tu as dans tes cellules !

Dans l'aide vba, regarde sous la rubrique : "Fonction de conversion" ,
plusieurs sont disponibles !


Est-ce que tu désires seulement faire disparaître un formatage
particulier


?


Salutations!


"Eric RENAUD" a écrit dans le message de
news:eLV9V$%

Bonjour,
Je souhaite balayer une plage et remplacer la cellule active par un CNUM
de

la la cellule active
Via VBA, je ne trouve pas la syntaxe qui devrait faire la chose suivante
:



ActiveCell.Value=CNUM de l'ActiveCell
For Each cell In Selection
cell.Value = "=VALUE(activecell.value)" ... ca ne marche pas !!!
Next cell

D'avance merci.









Avatar
Eric RENAUD
Bonjour,
Je pense que ma question a été mal formulée.
Je récupère via ADO les données d'une table Access. Ces données, issues d'un
gros système arrivent dans ma feuille Excel au format texte (ce sont des
numéros comme 001254, 1225687). Dans une autre feuille, je dois en tapant
1254 car 001254 n'est pas pris en compte, récupérer par RECHERCHEV les
données correspondantes à ce numéro. Comme ma saisie se fait au format
numérique et que dans l'autre feuille elles sont au format Texte, je ne
récupère rien.
J'ai donc insérer une colonne pour faire un CNUM de ma colonne Texte et là
les données des 2 feuilles sont au même format et RECHERCHEV fonctionne.
Plutôt que d'insérer une colonne intermédiaire, je voudrais balayer ma
colonne et quelque chose comme
For Each cell in Selection
ActiveCell.Value=CNUM(ActiveCell)

"Denis Michon" a écrit dans le message de news:
G_xjb.170404$
Bonjour Eric,

Cela dépend de ce que tu as dans tes cellules !

Dans l'aide vba, regarde sous la rubrique : "Fonction de conversion" ,
plusieurs sont disponibles !


Est-ce que tu désires seulement faire disparaître un formatage particulier
?



Salutations!


"Eric RENAUD" a écrit dans le message de
news:eLV9V$%

Bonjour,
Je souhaite balayer une plage et remplacer la cellule active par un CNUM
de

la la cellule active
Via VBA, je ne trouve pas la syntaxe qui devrait faire la chose suivante :

ActiveCell.Value=CNUM de l'ActiveCell
For Each cell In Selection
cell.Value = "=VALUE(activecell.value)" ... ca ne marche pas !!!
Next cell

D'avance merci.





Avatar
AV
Essaye

For Each cell in Selection
on error resume next
cell.ValueÎll*1
next

AV