L
Le Dahu
Guest
Salut cher Forum,
Voila mon problème:
- J'ai une feuille de calcul dans laquelle je travaille.
- Dans A1, j'ai la valeur 3.
- Dans C1, j'affecte la formule '=toto(A1)'.
- 'toto' est une fonction perso que j'ai créée dans un module VBA de mon classeur. Elle contient le code suivant, tout simple:
Function toto(a As Range)
ThisWorkbook.Worksheets(1).Range("B1") = a
toto = ThisWorkbook.Worksheets(1).Range("A1")
End Function
Elle est censée faire les choses suivantes:
- Affecter 3 à la cellule B1.
- Affecter 3 à la cellule C1 (cellule courante).
Avec le code ci-dessus, la fonction s'arrete au moment de remplir B1, sans message d'erreur.
Si j'enleve la ligne 'Thisworkbook...', ca marche, et la cellule courante C1 récupère bien la valeur 3.
Quelqu'un a-t-il une solution? Ou est-il tout simplement impossible de modifier une cellule différente de la cellule courante à partir d'une fonction?
Merci d'avance pour vos réponses...
Tchao le Forum.
Voila mon problème:
- J'ai une feuille de calcul dans laquelle je travaille.
- Dans A1, j'ai la valeur 3.
- Dans C1, j'affecte la formule '=toto(A1)'.
- 'toto' est une fonction perso que j'ai créée dans un module VBA de mon classeur. Elle contient le code suivant, tout simple:
Function toto(a As Range)
ThisWorkbook.Worksheets(1).Range("B1") = a
toto = ThisWorkbook.Worksheets(1).Range("A1")
End Function
Elle est censée faire les choses suivantes:
- Affecter 3 à la cellule B1.
- Affecter 3 à la cellule C1 (cellule courante).
Avec le code ci-dessus, la fonction s'arrete au moment de remplir B1, sans message d'erreur.
Si j'enleve la ligne 'Thisworkbook...', ca marche, et la cellule courante C1 récupère bien la valeur 3.
Quelqu'un a-t-il une solution? Ou est-il tout simplement impossible de modifier une cellule différente de la cellule courante à partir d'une fonction?
Merci d'avance pour vos réponses...
Tchao le Forum.