macro excel 2003 nom classeur dans cellule

casamartin

XLDnaute Junior
Bonjour,

Merci d 'accueillir le petit dernier dans votre grande famille.
Jeune retraité, je suis en pleine programmation macro sur excel pour mon ancien employeur.
J 'ai crée une macro pour ouvrir une fenêtre:2 sous forme de loupe pour faciliter la saisie par des malvoyants.
Macro:

Sub Loupe_classeur()
' Loupe de saisie
Windows("classeur:2").Activate
Sheets("feuille1").Select
End Sub

, ça marche trés bien.

Aprés sauvegarde du fichier sous un nom différent numéroté.
Il n 'est plus possible d'utiliser la macro ce qui est normal.
J 'ai donc généré le nom par formule dans la cellule "A1" sur "feuille1"
Formule:

=STXT(CELLULE("filename");TROUVE("[";CELLULE("filename"))+1;SOMME(TROUVE({"[";"]"};CELLULE("filename"))*{-1;1})-5)

et modifié ma macro comme ci-dessous:

Sub Loupe_devis_TO_0()
' Loupe de saisie
Dim Str As String
Dim nom As String
Range("A1").Select
nom = ThisWorkbook.Path & "\" & ActiveCell.Text & ".xls"":2"
Windows("Nom").Activate 'arrêt sur erreur 9
Sheets("feuille1").Select
End Sub

Problème d 'erreur 9
Merci de me rediriger
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : macro excel 2003 nom classeur dans cellule

Bonsoir Casamartin et bienvenu, bonsoir Pierrot, bonsoir le forum,

peut-être comme ça :
Code:
nom = ActiveCell.Text & ".xls:2"
Windows(nom).Activate
Chez moi ça marche en enlevant le chemin, en collant le ":2" à l'extension et en enlevant les guillemets à la variable nom.
 

casamartin

XLDnaute Junior
Re : macro excel 2003 nom classeur dans cellule

Voici la macro complète:
avec toujours l'erreur.
Sub Loupe_devis_TO_0()
' Loupe de saisie
Dim nom As String
Range("A1").Select
nom = ActiveCell.Text & ".xls:2"
Windows(nom).Activate
Sheets("Feuille1").Select
End Sub

j'ai même essayer avec ":2"

Cette macro fonctionne trés bien pour sauvegarder un fichier, c'est le":2" qui ne semble pas être accepté, ou il y a peut être un erreur ailleurs.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : macro excel 2003 nom classeur dans cellule

Bonsoir le fil, bonsoir le forum,

Il faut d'abord créer une nouvelle fenêtre avent de l'activer non ?
en pièce jointe un ememple où ça marche avec le code ci-dessous :
Code:
Sub Loupe_devis_TO_0()
' Loupe de saisie
Dim nom As String
 
ActiveWindow.NewWindow
nom = Sheets("Feuille1").Range("A1").Value & ".xls:2"
Windows(nom).Activate
Sheets("Feuille1").Select
End Sub
Je trouve étrange le nom de l'onglet Feuille1 au lieu du Feuil1 habituel aussi dans le fichier j'ai renommé l'onglet en Feuille1...
 

Pièces jointes

  • test.xls
    23 KB · Affichages: 62
  • test.xls
    23 KB · Affichages: 62
  • test.xls
    23 KB · Affichages: 64

casamartin

XLDnaute Junior
Re : macro excel 2003 nom classeur dans cellule

Merci Robert, un vrai lumière.
j'avoue, j'ai fait une grosse erreur de novive.
J'avais fait appel à une cellule que j'avais déplacé, elle été donc vide.
Ta macro fonctionne parfaitement.
J'avais mis feuille1 pour facilité la compréhension, Le nom été plus complexe

ça fonctionne aussi bien avec Activecell.text ou Activecell.value, aussi sur ta première version de macro
Encore merci, j'ai au moins 50 code à ajouter du même type.
 

Discussions similaires

Réponses
9
Affichages
132