Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…