Inserer une variable VBA dans une cellule

Tuf69

XLDnaute Nouveau
Bonsoir
Dans un précédent post j'avais un problème avec une formule d'une cellule qui m'empêchait la copie...

voila la formule
"=INDIRECT("[MonClasseur.xlsm]"& CELLULE("contenu";SCde)&"!"&"C39" )"

Comme vous pouvez le voir ma formule contient le nom de mon classeur
Or si je change le nom de mon classeur ma formule ne fonctionne plus et j'ai une 50aines de formule à modifier

Alors à la place "[MonClasseur.xlsm]" je cherche à insérer une variable VBA classeur=thisWorkBook.Name
Mais j'y arrive pas !! ni comment non plus inserer dans ma cellule directement le nom de mon classeur.

Merci d'avance pour votre aide.
Cordialement

Ch LEFEBVRE
 

mromain

XLDnaute Barbatruc
Re : Inserer une variable VBA dans une cellule

Bonjour Tuf69, Philippe , le forum :)


Je n'ai pas compris tout à fait la même chose que Philippe. Pour moi, MonClasseur.xlsm n'est pas le classeur sur lequel est inscrit la formule.

Si tel est le cas, il faut savoir que dès qu'on fait référence (dans une formule) à un autre classeur, cela crée un lien.
On peut gérer (modifier / supprimer) les liens directement depuis l'interface : onglet Données > Modifier les liens.

attachment.php


On peut également modifier ces liens en VBA grace à la méthode Ce lien n'existe plus du Workbook.

A+

Miki
 

Pièces jointes

  • GestionLiens.png
    GestionLiens.png
    132.5 KB · Affichages: 101

Tuf69

XLDnaute Nouveau
Re : Inserer une variable VBA dans une cellule

Bonsoir et merci a vous pour vos réponses...
Je vois que mon premier message ne semble pas assez clair ! donc je précise...
Dans la formule : "=INDIRECT("[MonClasseur.xlsm]"& CELLULE("contenu";SCde)&"!"&"C39" )"

MonClasseur.xlsm est bien le nom du classeur courant qui contient cette formule...
Si je suis obligé de nommé le nom de mon classeur c'est que lors de copie de feuille qui font référence à d'autres feuilles de ce même classeur le lien entre les feuilles se perd et donc pour le retrouver (le lien entre les feuilles ) je suis obligé de faire référence a mon propre classeur... (ouf c'est un peu compliqué mais j'espère avoir été un peu plus clair ! )
Donc maintenant que c'est clair que le nom du classeur est bien le nom du classeur en cours, mon problème c'est qu'en cours de developpement lors que je renomme mon classeur en MonClasseurV2.xlsm toutes les cellules contenant 'en dur' le nom du classeur sont obsolètes... donc je dois reprendre toutes mes formules et renommer tout les
("[MonClasseur.xlsm]" en ("[MonClasseurV2.xlsm]"
D'où mon désir de coder dans une variable ou une cellule nommée le nom de mon classeur courant...
Espérant avoir été plus clair...
Merci a vous tous
Cordialement
Christophe
 

Tuf69

XLDnaute Nouveau
Re : Inserer une variable VBA dans une cellule

Re Bonsoir le forum, Philippe

J'ai testé ta formule, ca me renvoi le chemin complet et le nom de la feuille dans laquelle est située la formule sous la forme
D:\Users\Tuf69\Documents\_Perso\[MonClasseur.xlsm]NomdelaFeuille

Donc ca devrait m'aider mais va falloir que je réouvre le tutoriel sur les manipulations de chaines pour que la cellule ne contiennent que le nom du classeur... :)

Cordialement
christophe
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin