Trouver un adresse Classeur+Feuille en partant d'une cellule

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 !

mécano41

XLDnaute Accro
Bonjour à tous,

(je remets le sujet ici car je l'avais posé dans un autre sujet et il semble s'être enterré)

Je suis dans le code une application où je demande l'adresse du début d'une plage, située dans un autre classeur ouvert, en cliquant dans la cellule choisie au moyen d'un Inputbox. J'obtiens donc un Range "DébutTableauàImporter"

Je souhaite avoir le nom (nomclasseur + nomfeuille) en vue d'activer cette feuille.

Comment fait-on pour extraire cela du range "DébutTableauàImporter" (en dehors d'une analyse du texte)?

Mes essais :

- DébutTableauàImporter.Address me donne : $B$5 (c'est la cellule sélectionnée)
- DébutTableauàImporter.Parent.Name me donne : Données (c'est le nom de la feuille)
- DébutTableauàImporter.Address(, , , True) me donne : [classeur3]Données!$B$5 (c'est donc l'adresse complète)
- Range(DébutTableauàImporter.Address(, , , True)) me donne : 1 (c'est la valeur dans la cellule)
- Range(DébutTableauàImporter.Address(, , , True)).Worksheet.Name me donne : Données (c'est le nom de la feuille)

Merci d'avance.

Cordialement
 
Re : Trouver un adresse Classeur+Feuille en partant d'une cellule

Bonjour,

Avant de planter VBA, essaye les différentes variantes de la fonction CELLULE dans une feuille de ton classeur, notamment : =cellule("filename";A1) qui renvoie le chemin complet du classeur (y compris onglet) dès l'instant que ledit classeur a déjà été sauvegardé.
 
Re : Trouver un adresse Classeur+Feuille en partant d'une cellule

Bonjour Mecano

pas sur d'avoir tout compris, mais regarde le code ci dessous :

Code:
Sub test()
Dim c As Range, f As String, w As String
Set c = Range("A1")
'te donnes le nom de la feuille
f = c.Parent.Name
'te donne le nom du classeur
w = Sheets(f).Parent.Name
'ou
w = c.Parent.Parent.Name
With Workbooks(w)
    .Sheets(f).Activate
End With
End Sub

bon après midi
@+

Edition : manquait un bout du code
 
Dernière édition:
Re : Trouver un adresse Classeur+Feuille en partant d'une cellule

Bonjour,

Merci à tous les deux.

J'ai fait cela :

With Workbooks(DébutTableauàImporter.Parent.Parent.Name)
.Sheets(DébutTableauàImporter.Parent.Name).Activate
End With

et tout fonctiooooonne! : )

Cordialement

L'éditeur refuse de me corriger Activate, il garde l'espace!
 
Dernière édition:
- 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

Retour