Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1521 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Ecriture d'un nombre [RESOLU]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ecriture d'un nombre [RESOLU]

n°1778313
fufu33
Posté le 27-08-2008 à 14:57:17  profilanswer
 

Bonjour a tous,
 
Je souhaiterai faire une verification d'une cellule sous VBA ou je dois un rentrer un nombre de longueur 7 uniquement.
Si je rentre un nombre tel que 1234567, c'est pris en compte et aucune erreur est affichee. Par contre, si je veux entrer 0123456 comme valeur, le zero n'est pas pris en compte et alors j'ai un message d'erreur qui s'affiche.
Comment puis-je faire pour que le zero soit pris en compte?
Merci d'avance.


Message édité par fufu33 le 30-08-2008 à 15:16:06
mood
Publicité
Posté le 27-08-2008 à 14:57:17  profilanswer
 

n°1778317
Moonschild
Posté le 27-08-2008 à 15:04:50  profilanswer
 

Bonjour, te sers-tu de ce nombre pour un calcul directement sur excel ensuite?
Si ce n'est pas le cas, il suffit que tu ajoutes une quote juste avant : 0123456 te donne 123456, mais '0123456 te donne 0123456... Le probleme étant juste qu'il ne considere plus ce nombre comme un nombre, mais comme un texte...
(Si tu en as besoin, la commande cells(ligne, colonne).value dans une macro prends la valeur comme un nombre, malgré la quote ;) )

n°1778494
fufu33
Posté le 27-08-2008 à 18:41:13  profilanswer
 

je te remercie
ce que j'ai fait aussi c'est que j'ai mis ma cellule en format text comme ca quelque soit le nombre que tu mets il sera automatiquement pris comme text et non comme nombre.
J'avais pensé à utiliser une quote mais le soucis c'est qu'il faut que la personne qui rentre ce nombre rentre également la quote et je pense qu'il aurait oublié plus d'une fois.
A moins que tu connaisses le moyen pour que cette étape (mettre une quote en début) soit faite automatiquement et que l'utiliateur n'est plus qu'à rentrer le nombre?

n°1778504
Moonschild
Posté le 27-08-2008 à 19:10:43  profilanswer
 

Je pense que tu as trouvé la bonne solution, c'est plus simple que de mettre des quotes... J'essayerai demain au travail (oui bah faut bien s'occuper) de voir s'il y a un moyen de verifier la presence d'un 0, et dans ce cas, de rajouter une quote...
Je te tiens au courant demain dans la journée, si personne d'autre ne t'a aidé entre temps.


---------------
Si Le Travail C'est La Santé, Donnez Le Mien A Quelqu'un De Malade
n°1778848
Moonschild
Posté le 28-08-2008 à 09:21:27  profilanswer
 

J'ai trouvé une autre solution, j'espere qu'elle sera bonne pour ce que tu recherches (j't'avais dis que je testerai au travail...). En fait, il faut utiliser l'evenement worksheet_change et le fait que s'il enleve le 0, ton chiffre ne fait pu que ...

Code :
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. If Mid(Target.Value, 7, 1) = "" Then
  3.     Target.Value = "'0" & Target.Value
  4. End If
  5. End Sub


Par contre, ce code marche juste pour un seul 0...


---------------
Si Le Travail C'est La Santé, Donnez Le Mien A Quelqu'un De Malade
n°1779283
MagicBuzz
Posté le 28-08-2008 à 16:47:32  profilanswer
 

cells(x, y).numberformat = "0000000"
 
et y'aura toujours 7 chiffres, avec les leading 0, que l'utilisateur tape plus de 7 chiffres ou moins de 7 chiffres


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Ecriture d'un nombre [RESOLU]

 

Sujets relatifs
[RESOLU] Tri + somme pour une colonne[RESOLU] Visual C++ 6.0 : Plantage à la compilation
Cpie de fichier [RESOLU][resolu]souci dans mon code php..
Adapter une fonction, affichage du nombre de pages[PHP] Erreur conversion taille en Ko [Résolu]
Verrouillage de cellules [RESOLU][Résolu] Problème UTF8, l'espace magique.
[RESOLU] question tres simple sur nombre de caracteres a l'ecriture 
Plus de sujets relatifs à : Ecriture d'un nombre [RESOLU]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR