[VBA-Excel] Ma fonction rebelle (maj de cellules)
Bonjour à tous
Je débute avec VBA mais c'est plutôt laborieux : Voilà quelques jours maintenant que je cherche le moyen de modifier le contenu d'une cellule via une fonction personnalisée (que j'ai nommé IFEXIST) exécutée à partir d'autre cellule.
C'est la dernière ligne de la fonction qui semble poser problème (sans elle, cela fonctionne plutôt bien, mais avec elle la fonction renvoie #VALEUR). Je n'emploie visiblement pas les bons arguments pour convaincre cette fonction de faire ce que j'attends d'elle, peut-être même que je poursuis là un voeu pieux ; pour une raison que j'ignore, il n'est peut être pas possible de modifier une autre cellule que celle qui exécute la fonction ou bien je n'ai pas la bonne syntaxe pour le faire... Qu'en pensez-vous
Function IFEXIST(ParamArray Prédécesseur() As Variant)
Dim colSelection, colDatefin, colDatedeb, i As Integer
Dim debFlag As Boolean
Dim datedeb, datefinPrec As Date
colDatedeb = 5
colDatefin = 6
colSelection = 10
datedeb = Cells(ActiveCell.Row - 1, colDatedeb)
'MsgBox datedeb, vbQuestion + vbOKOnly
debFlag = True
For i = 0 To UBound(Prédécesseur())
LigSelection = Prédécesseur(i) + 1
If Cells(LigSelection, colSelection) = "Vrai" Then
datefinPrec = Cells(LigSelection, colDatefin).Value
If datefinPrec > datedeb Then
datedeb = datefinPrec
End If
If debFlag Then
IFEXIST= IFEXIST & Prédécesseur(i)
debFlag = False
Else
IFEXIST= IFEXIST & ";" & Prédécesseur(i)
End If
End If
Next i
'-----------------------------ci-après la ligne posant problème ----
ActiveCell(ActiveCell.Row, colDatedeb).Value = datedeb
End Function