utiliser un "this cellule" dans une fonction [Résolu]

pasjojo

XLDnaute Nouveau
Bonjour,

je souhaite faire une fonction qui fasse un calcul en fonction du chiffre et de la couleur d'une cellule.
Cette fonction calcule bien la valeur mais ne permet pas avec application.volatile d'avoir un résulat calculé.
en effet, chacune des cellules renvoie le résultat de la derniere cellule sélectionnée.

il faudrait remplacer le Activecell.offset par quelque chose que je ne connais pas.
Auriez vous une idée ?
----------------------------------------------------------------------------------------------------
function fonction
'
Application.Volatile
'
If ActiveCell.Offset(0, -1).Font.ColorIndex = 3 Then
Fonction = ActiveCell.Offset(0, -1).Value + 2
ElseIf ActiveCell.Offset(0, -1).Font.ColorIndex = 4 Then
Fonction = ActiveCell.Offset(0, -1).Value + 5
ElseIf ActiveCell.Offset(0, -1).Font.ColorIndex = 45 Then
Fonction = ActiveCell.Offset(0, -1).Value + 10
Else
Fonction = ActiveCell.Offset(0, -1).Value
End If

end function
--------------------------------------------------------------------------------------
 
Dernière édition:
G

Guest

Guest
Re : utiliser un "this cellule" dans une fonction

Bonjour, Hello Job;)

@pasjojo: Il y a aussi Application.ThisCell:

Code:
Function hfonction()
    Application.Volatile
    With Application.ThisCell.Offset(, -1)
    Select Case .Font.ColorIndex
        Case 3: hfonction = .Value + 2
        Case 4: hfonction = .Value + 4
        Case 45: hfonction = .Value + 10
        Case Else: hfonction = .Value
    End Select
    End With
End Function

A+
 

Discussions similaires

Statistiques des forums

Discussions
314 168
Messages
2 106 708
Membres
109 670
dernier inscrit
Telo-Martius