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

XL 2019 Ecrire/modifier des cellules à partir du code d'une fonction? (erreur 1004)

p'tit vieux

XLDnaute Occasionnel
Bonjour à tous
En appelant une fonction, je désire faire mes calculs ET écrire certains éléments dans des cellules.
Quoi de bien naturel en somme! Non?
Pourquoi ?
Je viens d'apprendre que le code d'une fonction (même une fonction personnalisée) ne peux écrire dans des cellules … gênant!
Sauf que je désire que ma fonction (personnalisée -Add-In-) "mouline" écrive certaines valeurs dans des cellules et retourne un résultat.
Exemple de se que voudrais (mais qui ne marche pas):
J'ai déjà tenté cela:
Marche pas
C'est fou ça !
Alors afin de garder ma jeunesse (de p'tit vieux Hum!) quelqu'un pourrait-il me proposer une solution?
Merci à vous pour votre aide.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir p vieux,
En B2 ou C2 écrire :
VB:
=Addition(A1;A2)
Si en a1 et A2 se trouvent les nombres à additionner.
Les fonctions doivent être utiliser exactement comme des fonction XL, sauf qu'elles sont personnelles.
Un pti tuto sur les fonctions perso :
 

soan

XLDnaute Barbatruc
Inactif
Bonsoir p vieux, sylvanu,

bienvenue sur le site XLD !

je te propose le fichier ci-dessous ; charge-le, puis fais Ctrl e

VB:
Option Explicit

Sub Addition(nb1%, nb2%)
  [B2] = nb1: [C2] = nb2: [D2] = nb1 + nb2
End Sub

Sub Essai()
  Addition 10, 5
End Sub

soan
 

Pièces jointes

  • Exo p vieux.xlsm
    14 KB · Affichages: 8

soan

XLDnaute Barbatruc
Inactif
@sylvanu

oui, j'ai bien vu ton post #2 ; mais pour moi, ça revient plus à une fonction personnalisée (même si elle est faite en VBA), qu'à une solution purement VBA indépendante de la feuille (pour ce qui est de l'envoi des 2 nombres à additionner) ; et il me semble bien que le demandeur p vieux aimerait mieux ce genre de solution ; mais après tout, pourquoi pas ? c'est lui qui pourra choisir selon ses préférences.

soan
 

p'tit vieux

XLDnaute Occasionnel
Merci à tous pour vos réponses et pour votre accueil.
@sylvanu Merci. Mais non merci pour votre post #5. J'aime utiliser un F() comme telle . Surtout lorsque l'on a besoin d'un résultat en retour .
@soan Vous avez raison il s'agit bien d'un Add-In. Et je ne savais pas que l'on ne peut pas écrire dans une cellule. Je vous ai répondu ICI.
Allez je vais y arriver … Enfin si c'est possible.
Encore merci de m'aider.

NB: Peut-être que je fais une confusion technique entre Add-In et Fonctions Personnalisées?
 

Discussions similaires

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