Fonction et modification d'une cellule...

  • Initiateur de la discussion Initiateur de la discussion Le Dahu
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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.
 
sans réfléchir à l'utilité de développer un tel code, voilà ce que cela pourrait donner

dans la feuille de code de la feuille concernée (ou par extension dans la procédure évènementielle correspondante de la feuille de code ThisWorkbook), le code suivant :
Private Sub Worksheet_Calculate()
If flagChangeinSheet = True Then
Feuil1.Range("B1").Value = Feuil1.Range("C1").Value
flagChangeinSheet=false
End If
End Sub


dans un module standard le code suivant :
Public flagChangeinSheet

Function toto(a As Range)
flagChangeinSheet = True
toto = a.Value
End Function
à chaque recalcul de la feuille, toute cellule contenant cette formule est recalculée (selon le mode de calcul défini), et donc elle change le flag
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
174
Retour