Fonction personnalisée appliquée à plusieurs feuilles

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 !

hooters

XLDnaute Nouveau
Bonjour à tous

et tout d'abord, merci pour ce forum par lequel j'ai appris beaucoup de choses.

J'ai écris une fonction personnalisée, en VBA.
Quand je l'appelle dans Feuil1, cellule A1 =MaFonction(D5:E8), pas de problème, le résultat renvoyé est celui attendu 🙂

Par contre, quand dans Feuil1, cellule A1 =MaFonction(Feuil2!E3:F6), je récupère #VALEUR.

Je crois deviner qu'il faudrait que je m'occupe de décomposer l'argument pour traiter chaque feuille, puis chaque cellule.

J'ai cherché et trouvé ce sujet : https://www.excel-downloads.com/thr...e-de-recherche-sur-plusieurs-feuilles.108126/

Dans les fichiers contenus dans ce sujet, j'ai trouvé ceci :
Code:
Function trf_plage(plage As Range, Optional feuilles As String = "") As Variant
    Dim cel As Range, i As Long, j As Integer, tablo() As Variant
    Dim feuille1 As String, feuille2 As String
    Application.Volatile
    i = -1
    If feuilles = "" Then feuilles = ActiveSheet.Name & ":" & ActiveSheet.Name
    feuille1 = Left(feuilles, InStr(feuilles, ":") - 1)
    feuille2 = Right(feuilles, Len(feuilles) - InStr(feuilles, ":"))
    (....)

Or, je voudrais éviter d'avoir à traiter les feuilles dans un second argument.
Est ce possible, ou suis je obligé de procéder comme ci-dessus ?

Merci pour votre aide. 🙂
 
Re : Fonction personnalisée appliquée à plusieurs feuilles

Bonjour et bienvenue,

Il nous faudrait la totalité de la fonction avec un fichier exemple pour pouvoir t'aider plus précisément.

De façon général, une variable ou paramètre de Type Range contient en soi ces ascendants:

Code:
Dim C as Range
Dim Sh as WorkSheet
Dim wk as WorkBook
 
Set C= range("A1")
set Sh = c.Parent 'Feuille de Range("A1")
set wk= Sh.Parent 'Classeur de la feuille de C
ou
set wk= C.Parent.Parent 'Classeur de C
A+
 
- 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

Discussions similaires

Réponses
7
Affichages
968
Réponses
3
Affichages
951
Réponses
13
Affichages
897
Retour