1 votes

Empêcher la fonction d'être appelée de façon répétitive

J'ai écrit une fonction personnalisée pour concaténer une plage, en utilisant un concaténateur personnalisé.

Public Function mikeConcat(rng As Range, concatenator As Variant) As String
     if left(selection.value,1)="'" then goto end1
     toReturn = "'"
     For Each cel In rng
         toReturn = toReturn & cel & CStr(concatenator)
     Next cel
    mikeConcat = Left(toReturn, Len(toReturn) - 1)
end1: End Function

Il fonctionne très bien, mais il semble que les cellules dans lesquelles je l'utilise l'appellent constamment. Sans désactiver la mise à jour de la formule de la feuille de calcul, comment puis-je faire en sorte qu'elle ne soit appelée qu'une seule fois par cellule ?

Edit1 : question pour refléter le changement recommandé par FreeMan. Edit2 : j'obtiens une erreur de référence circulaire, et cela ne fonctionne pas.

1voto

Vous pouvez faire en sorte que votre fonction désactive les calculs de la feuille de calcul avant qu'elle ne se termine.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X