Nom de classeur d'après contenu 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 !

white-spirit

XLDnaute Occasionnel
Rebonjour tt le monde,

je suis coincé sur le bout de code suivant

Dim MDP1 As String
Dim classeur As Workbook
MDP1 = "xxxxxx"

classeur = Range("H1").Value

classeur.Sheets("NomsCoureurs").Unprotect MDP1

explications:

- je suis dans un classeur "lambda".
- je lance une macro qui contient le code ci-dessus
- dans la cellule H1 se trouve le nom d'un classeur style "Z:\répertoire\fichier.xls" (il est également ouvert dans une fenêtre)
- je veux aller faire "des choses" dans ce classeur (ici, déverrouiller), sans quitter le classeur actif "lambda"

la macro plante sur "classeur = range("H1").value , avec le message : Variable Objet ou variable de bloc With non définie"

Merci d'avance à ceux qui sauraient corriger le code.

Cordialement

WS
 
Re : Nom de classeur d'après contenu cellule

Bonjour,

regarde peut être ceci :
Code:
Dim MDP1 As String
Dim classeur As Workbook
MDP1 = "xxxxxx"
Set classeur = Workbooks(Split(Range("H1").Value, "\")(UBound(Split(Range("H1").Value, "\"))))
bon après midi
@+

Edition : bonjour vgendron
 
Re : Nom de classeur d'après contenu cellule

Bonjour Pierrot93,

alors BRAVO, c'est magnifique ....

j'ai trouvé ta réponse après avoir répondu à Vgendron, et franchement, je me suis dit: "Pierrot à une idée, ça sent bon ..."
et puis Bingo !!!

Merci encore, bonne continuation, et merci aussi à ceux qui ont lu ou essayé de trouver.

Cordialement

WS
 
Re : Nom de classeur d'après contenu cellule

Bonjour white-spirit,

Si comme vous le dites les 2 classeurs concernés sont ouverts :

Code:
classeur = Workbooks("lambda.xls").Sheets("toto").[H1] 'noms à adapter
nomfich = Mid(classeur, InStrRev(classeur, "\") + 1)
Workbooks(nomfich).Sheets("NomsCoureurs").Unprotect MDP1
Si la macro est dans le classeur "lambda.xls" on peut remplace Workbooks("lambda.xls") par ThisWorkbook.

Si le 2ème classeur n'est pas ouvert il faut l'ouvrir avec l'instruction Workbooks.Open classeur

Edit : salut Pierrot, je ne t'avais pas vu.

A+
 
Dernière édition:
Re : Nom de classeur d'après contenu cellule

Bonjour Job 75,

merci d'avoir regardé, je viens de tester cette solution aussi... & ça marche !

Alors, laquelle vais-je choisir ???

Allez, le lundi l'une, le mardi l'autre, etc.....

Sincèrement merci à tt le monde !

PS: Comment fait-on pour signaler que le sujet est résolu ?

Cdlt

WS
 
- 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
3
Affichages
882
Réponses
3
Affichages
879
Réponses
2
Affichages
1 K
Retour