Fonction dans un programme VBA

Fermé
bocman - 10 févr. 2012 à 12:28
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 10 févr. 2012 à 13:08
Bonjour

J'ai une autre question. j'ai une cellule qui contient la quantité d'acier soit en unité par exemple 2 soit en ml donc 2ml
j'ai trouver la fonction subsitue qui me permet de remplacer "ml" par rien

j'aimerai intégrer cette fonction dans un un petit programme VBA
mais ça ne marche pas

' transforme les donnée de la colonne Qextraction de la feuille de calcul en valeur numérique
Function Q(Qextraction As Variant)
' si Qextraction n'est pas vide une alors il y aura qqch dans la cellule Q
If Qextraction <> 0 Then
'Si Qextraction est une valeur numérique alors la cellule Q = la cellule Qextraction
If IsNumeric(Qextraction) Then
Q = Qextraction
' Sinon Qextraction est un texte auquel on remplace le caractère ml par rien
Else
Q = Excel.Run([SUBSTITUE], [Qextraction], ["ml"], [""])
End If
End If
End Function




1 réponse

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
10 févr. 2012 à 13:08
Bonjour,
Essaie comme ceci :

Function Q(Qextraction As Variant) 
' si Qextraction n'est pas vide une alors il y aura qqch dans la cellule Q 
If Qextraction <> "" Then 
'Si Qextraction est une valeur numérique alors la cellule Q = la cellule Qextraction 
    If IsNumeric(Qextraction) Then 
        Q = Qextraction 
' Sinon Qextraction est un texte auquel on remplace le caractère ml par rien 
    Else 
        Q = Replace(Qextraction, "ml", "") 
    End If 
End If 
End Function
0