|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() Inscription : octobre 2006 Messages : 290 ![]() |
Bonjour,
Je rapatrie des données dans un tableau, mais ces données étant de styles très divers, je suis contraint d'utiliser le type Variant dans les fonctions qui les traitent. Notamment, j'utilise la fonction suivante qui va uniquement récupérer le nombre lorsque celui-ci est précédé du signe <: Code :
Merci d'avance. |
||
|
|
00
|
|
|
#2 | |
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 885 ![]() |
Bonjour,
Si tu retourne toujours du numérique utilise un type de variable numérique en retour (ici long si pas de décimal) Code :
Function extraire_nbre(donnee As Variant) As Long
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Florian Étudiant Inscription : mai 2011 Messages : 44 ![]() |
Je suis d'accord avec jfontaine. J'ajouterais même que si tu souhaites renvoyer un Long (comme dans l'exemple de jfontaine), il faut le convertir :
|
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : octobre 2006 Messages : 290 ![]() |
Merci à tous les deux, mais l'ennui, c'est que souvent les données qui arrivent sont de la forme <2.1, et non <2,1, du coup chacune de vos méthode plante à l'exécution..
|
|
|
00
|
|
|
#5 | |
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 885 ![]() |
Convertis en valeur
Code :
donnee = Val(Right(donnee, Len(donnee) - 1))
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|
|
|
00
|
|
|
#6 | ||
|
Membre du Club
![]() Inscription : octobre 2006 Messages : 290 ![]() |
En appliquant ceci:
Code :
|
||
|
|
00
|
|
|
#7 | |||||
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 885 ![]() |
Tu as mis 2 fois la ligne qui supprime le premier caractère.
Gère le symbole décimale au début du code Code :
Code :
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|||||
|
|
00
|
|
|
#8 | ||
|
Expert Confirmé
![]() |
bonjour
essaie cet exemple Code :
au plaisir
__________________
mes fichiers dans les contributions: mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA mon nouveau mouse in out pour les boutons dans un userform mon addin pour prendre un cliché de selection de cellules si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres et n'oublie pas de voter ![]()
|
||
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Inscription : octobre 2006 Messages : 290 ![]() |
Bonjour,
Je viens d'essayer l'ensemble de vos codes, ça marche, et je vous en remercie ! En fait, j'ai quand même dû modifier la ligne en Seul un petit problème persistte.. Quand la variable donnee est vide (""), les fonctions me renvoient 0, alors que je souhaiterais ne rien renvoyer... Est-ce envisageable ? |
|
|
00
|
|
|
#10 | |
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 885 ![]() |
La fonction retournant un type e donnée numérique, ce n'est pas possible via la fonction.
Par contre, il te suffit de tester le résultat dans la formule de la cellule Code :
=si(extraire_nbre(A2)=0;"";extraire_nbre(A2))
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|
|
|
00
|
|
|
#11 |
|
Membre du Club
![]() Inscription : octobre 2006 Messages : 290 ![]() |
Ok, je vais essayer de me débrouiller avec ça alors !
Encore merci pour tout !
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com