Macro excel bloquee
Fermé
toopey77
Messages postés
18
Date d'inscription
lundi 5 octobre 2009
Statut
Membre
Dernière intervention
18 mai 2016
-
21 sept. 2012 à 10:02
Mike-31 Messages postés 18350 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 28 novembre 2024 - 24 sept. 2012 à 14:16
Mike-31 Messages postés 18350 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 28 novembre 2024 - 24 sept. 2012 à 14:16
A voir également:
- Macro excel bloquee
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
10 réponses
Mike-31
Messages postés
18350
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
28 novembre 2024
5 106
21 sept. 2012 à 10:22
21 sept. 2012 à 10:22
Salut,
Tu peux récupérer le nom du fichier dans une cellule et dans ton code tu fais référence à cette cellule.
exemple tu nommes le cellule A1 titi
dans cette cellule tu colles cette formule qui récupéreras le nom du classeur
=STXT(CELLULE("filename";A1);TROUVE("[";CELLULE("filename";A1))+1;SOMME(TROUVE({"[";"]"};CELLULE("filename";A1))*{-1;1})-1)
ou si tu veux faire tout VBA
[A1] = ThisWorkbook.Name
reste plus que modifier ton code en remplaçant le nom du fichier à ouvrir par la référence de la cellule nommée titi
Tu peux récupérer le nom du fichier dans une cellule et dans ton code tu fais référence à cette cellule.
exemple tu nommes le cellule A1 titi
dans cette cellule tu colles cette formule qui récupéreras le nom du classeur
=STXT(CELLULE("filename";A1);TROUVE("[";CELLULE("filename";A1))+1;SOMME(TROUVE({"[";"]"};CELLULE("filename";A1))*{-1;1})-1)
ou si tu veux faire tout VBA
[A1] = ThisWorkbook.Name
reste plus que modifier ton code en remplaçant le nom du fichier à ouvrir par la référence de la cellule nommée titi
Je suis entrain d'essayer ta technique comment nommer ma cellule titi?
Le code ressort bien le nom du doc c impeccable mais je me demande comment faire reference a cette cellule pour reouvrir ce classeur
Le code ressort bien le nom du doc c impeccable mais je me demande comment faire reference a cette cellule pour reouvrir ce classeur
voilà un exemple de ma macro :
Application.Run "enregistrementP"
Range("F27").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Windows("teste2.xls").Activate
Sheets("FICHE PARTENAIRE").Select
Rows("7:8").Select
Selection.Copy
Windows("éléments partenaires.xls").Activate
Rows("15:15").Select
Selection.Insert Shift:=xlDown
Windows("teste2.xls").Activate
Sheets("FICHE PARTENAIRE").Select
Range("B7:F8").Select
Selection.Copy
A chaque Windows ("teste2.xls").Activate ma macro plante (logique si le fichier a changer de nom ;)
Comment à partir de cela formuler ma macro pour ne plus etre bloqué par un changement de nom du classeur?
Merci beaucoup
Application.Run "enregistrementP"
Range("F27").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Windows("teste2.xls").Activate
Sheets("FICHE PARTENAIRE").Select
Rows("7:8").Select
Selection.Copy
Windows("éléments partenaires.xls").Activate
Rows("15:15").Select
Selection.Insert Shift:=xlDown
Windows("teste2.xls").Activate
Sheets("FICHE PARTENAIRE").Select
Range("B7:F8").Select
Selection.Copy
A chaque Windows ("teste2.xls").Activate ma macro plante (logique si le fichier a changer de nom ;)
Comment à partir de cela formuler ma macro pour ne plus etre bloqué par un changement de nom du classeur?
Merci beaucoup
Mike-31
Messages postés
18350
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
28 novembre 2024
5 106
24 sept. 2012 à 10:19
24 sept. 2012 à 10:19
Re,
pour nommer la cellule contenant le nomdu fichier, active la cellule et au dessus des en tête de colonne à gauche tu as la barre d'adresse, il suffit de faire un clic et saisir le nom que tu souhaites donner à la cellule et Entrée
ou tu va dans le gestionnaire des noms et Définir
ensuite pour ouvrir le fichie il faut passer par leVBA et si le fichier à ouvrir est dans le même répertoire le code est
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & [titi].Value
pour nommer la cellule contenant le nomdu fichier, active la cellule et au dessus des en tête de colonne à gauche tu as la barre d'adresse, il suffit de faire un clic et saisir le nom que tu souhaites donner à la cellule et Entrée
ou tu va dans le gestionnaire des noms et Définir
ensuite pour ouvrir le fichie il faut passer par leVBA et si le fichier à ouvrir est dans le même répertoire le code est
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & [titi].Value
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci Mike-31
J'ai bien réussi à trouvé comment nommer une cellule.
Cependant le code pour activer le classeur ne fonctionne pas.
le msg d'erreur me dit que le classeur comporte des liaisons vers un autre classeur.
Pourrais tu modifier ma macro tel qu'il me faut la renseigner?
(le classeur a réactiver n'est pas fermer je passe de l'un à l'autre)
J'ai bien réussi à trouvé comment nommer une cellule.
Cependant le code pour activer le classeur ne fonctionne pas.
le msg d'erreur me dit que le classeur comporte des liaisons vers un autre classeur.
Pourrais tu modifier ma macro tel qu'il me faut la renseigner?
(le classeur a réactiver n'est pas fermer je passe de l'un à l'autre)
Mike-31
Messages postés
18350
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
28 novembre 2024
5 106
24 sept. 2012 à 10:54
24 sept. 2012 à 10:54
Re,
Pour cela il faudrait avoir tes classeurs pour adapter les codes
Pour cela il faudrait avoir tes classeurs pour adapter les codes
ok Mike super ;)
C'est pas compliqué j'ai un classeur qui se nomme "ELEMENTS PARTENAIRES.xls" dont le nom ne change jamais.
et un fichier nommé teste2.xls dont le nom change tout le temps.
A partir de teste2.xls je lance une macro nommée "enregistrementP" puis j'ouvre le classeur "ELEMENTS PARTENAIRES" à partir d'un lien hypertexte et là je reviens sur le classeur teste2.xls ...
mais comme il change constamment de nom, ma macro ne le trouve pas...
Application.Run "enregistrementP"
Range("F27").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Windows("teste2.xls").Activate
Si tu pouvais me débloquer ce serait vraiment super ;)
C'est pas compliqué j'ai un classeur qui se nomme "ELEMENTS PARTENAIRES.xls" dont le nom ne change jamais.
et un fichier nommé teste2.xls dont le nom change tout le temps.
A partir de teste2.xls je lance une macro nommée "enregistrementP" puis j'ouvre le classeur "ELEMENTS PARTENAIRES" à partir d'un lien hypertexte et là je reviens sur le classeur teste2.xls ...
mais comme il change constamment de nom, ma macro ne le trouve pas...
Application.Run "enregistrementP"
Range("F27").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Windows("teste2.xls").Activate
Si tu pouvais me débloquer ce serait vraiment super ;)
Mike-31
Messages postés
18350
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
28 novembre 2024
5 106
24 sept. 2012 à 11:44
24 sept. 2012 à 11:44
Re, pour ma part je travaillerais sans lien Hypertexte, récupère les deux fichiers exemples avec les liens ci dessous.
change à ta guise le nom teste2 et clic sur le bouton
https://www.cjoint.com/?BIylRlEZp93
https://www.cjoint.com/?BIylRIBdDJG
si le bouton te géne on reverra le code
change à ta guise le nom teste2 et clic sur le bouton
https://www.cjoint.com/?BIylRlEZp93
https://www.cjoint.com/?BIylRIBdDJG
si le bouton te géne on reverra le code
Merci Mike-31,
J'ai trouvé une solution qui semble fonctionner je te la donnes au cas où:
en début de macro je détermine le nom du classeur ouvert
Dim ClasseurActif As String
ClasseurActif = ThisWorkbook.Name
puis lorsque j'ai besoin de le rappeler je le nomme par ce nom:
Workbooks(ClasseurActif).Activate
de cette façon qu'importe le nom qui sera entrer la macro l'associera tjr au même nom ;)
Pour le moment tout fonctionne ;D
Merci pour tout
J'ai trouvé une solution qui semble fonctionner je te la donnes au cas où:
en début de macro je détermine le nom du classeur ouvert
Dim ClasseurActif As String
ClasseurActif = ThisWorkbook.Name
puis lorsque j'ai besoin de le rappeler je le nomme par ce nom:
Workbooks(ClasseurActif).Activate
de cette façon qu'importe le nom qui sera entrer la macro l'associera tjr au même nom ;)
Pour le moment tout fonctionne ;D
Merci pour tout
Mike-31
Messages postés
18350
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
28 novembre 2024
5 106
24 sept. 2012 à 14:16
24 sept. 2012 à 14:16
Pas très pratique mais bon si cela te convient c'est le principal
a+
a+
gantz974
Messages postés
323
Date d'inscription
mardi 28 août 2012
Statut
Membre
Dernière intervention
16 novembre 2013
31
21 sept. 2012 à 10:04
21 sept. 2012 à 10:04
Consulte l'aide d'Office.. LoL