Fonction dans un programme VBA

bocman -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
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

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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