_samy_
Messages postés14Date d'inscriptionsamedi 15 octobre 2005StatutMembreDernière intervention23 janvier 2008
-
29 août 2006 à 12:15
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 2012
-
29 août 2006 à 14:19
Bonjour à toutes et à tous,
C'est la première fois que je poste sur ce forum, donc j'espère ne pas m'être trompé de catégorie !
J'ai recherché un peu partout, mais je n'ai rien trouvé (trop de mots dans la recherche).
Voilà, je vous expose mon problème :
Je crée une fonction VBA afin qu'elle soit utilisable dans Excel. Cette fonction est un peu du style "Recherchev".
Cette fonction prend 3 paramètres qui sont des "Range". Ces Ranges peuvent être dans d'autres classeurs ouverts.
Ma question est simple... mais pas évidente à solutionner (pour moi du moins) :
-> Comment, dans mon code VBA, puis-je trouver le nom du classeur de tel ou tel range passé en paramètre ?
Merci par avance pour vos réponses... et n'hésitez pas à me dire si vous voulez plus
d'infos.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 29 août 2006 à 13:28
Salut,
Julien237, ton premier code est effectivement bizarre ! ;)
Par contre, le second est parfait !
Pour expliquer à Samy,
le Parent sert à retrouver l'objet dont appartient Range (enfin, pour cet exemple) :
donc WorkSheet.
le double Parent sert donc à retrouver l'objet de l'objet
(donc l'objet de WorkSheet --> WorkBook)
_samy_
Messages postés14Date d'inscriptionsamedi 15 octobre 2005StatutMembreDernière intervention23 janvier 2008 29 août 2006 à 13:41
Merci Mortalino pour ces explications. J'avais bien vu que cette propriété existait, mais je n'ai même pas pensé à m'en servir.
Je pensais, vu que l'on pouvait avoir le "Range.Worksheet.Name", qu'on pouvait faire la même chose avec "Range.Worksheet.Workbook.Name"... du coup, je suis resté bloqué là dessus.
Encore merci à vous tous pour votre rapidité et votre aide.