[Résolu]Comment activer une application Excel qui change de nom

Comment activer une application Excel qui change de nom [Résolu] - VB/VBA/VBS - Programmation

Marsh Posté le 10-04-2006 à 23:27:44    

Bonsoir à tous,
 
Voilà mon problème :
 
J'ai 2 applications Excel ouvertes en même temps.
Dont une qui change de nom fréquemment.
Voici le code VBA qui me permet de la nommer :
 
-------------------------------------------------------------------------------------------------
Dim Repertoire As String 'Procédure d'enregistrement sous le numéro de la valeur de la cellule (2,18)
    Dim Fichier As String
    Dim Extension As String
    Repertoire = "E:\hbb\Dossiers\Travail\"
    Extension = ".xls"
    Fichier = Cells(2, 18).Value
     
    ActiveWorkbook.SaveAs Filename:= _
        Repertoire & Fichier & Extension _
        , FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
 
-------------------------------------------------------------------------------------------------
 
J'ai souhaiterais selectionner l'application ci-dessus qui change de nom régulièrement quand l'autre application est active.
Aujourd'hui, elle peut être nommée, par exemple, "5001" et demain "5002".
Si elle portait tout le temps le nom "5001", je pourrais faire un code simple du style
 
Windows("5001.xls" ).Activate
 
Mais ce n'est évidemment pas possible !!!!
 
Quelqu'un aurait-il une idée ?
Merci d'avance,
 
hbb


Message édité par hbb le 12-04-2006 à 23:38:27
Reply

Marsh Posté le 10-04-2006 à 23:27:44   

Reply

Marsh Posté le 10-04-2006 à 23:53:39    

Quand tu parles d'application, tu parles de Classeur, c'est ça ?
 
Je vois pas trop ce qui te préoccupes : tu peux pas simplement utiliser la variable Fichier, qui, si j'ai bien compris, correspond au nom du classeur ?

Reply

Marsh Posté le 11-04-2006 à 21:06:17    

Salut,
Oui, c'est bien un classeur.
Le code serait du style :
Application.worksheets(.....).activate
Le problème est que je ne sais pas trop quoi placer entre les parenthèses.
Merci de ton aide.

Reply

Marsh Posté le 12-04-2006 à 19:11:01    

Tu as le choix entre le nom du classeur, entre guillemet :

   Workbooks("Classeur2.xls" ).Activate


ou bien l'index de celui-ci. C'est à dire que si c'est le deuxième classeur ouvert, alors c'est l'index 2 (etc.) :

   Workbooks(2).Activate

Reply

Marsh Posté le 12-04-2006 à 19:24:48    

Oui d'accord, mais le nom du classeur change souvent.
Commen précisé ci-dessus, cela peut être 5001 aujourd'hui et 5002 demain, 5003 après-demain, etc...
Donc il ne peut pas avoir une nom fixe.

Reply

Marsh Posté le 12-04-2006 à 19:33:21    

OK Juju2K,
Je comprends le principe de l'index 2.
Pour mon cas, il est en 1 donc je mets workbooks(1).activate.
Mais si un jour, j'ai un autre classeur ouvert en position 1, qui n'a évidemment rien à voir, c'est celui-ci qui sera activé !!!
Et là, ça ne marche pô.

Reply

Marsh Posté le 12-04-2006 à 20:02:11    

Ca y est, ça marche, j'ai tout simplement fait
workbooks(fichier).Activate
 
Merci Juju2K pour ton aide.
 
P.S : Je n'ai pas trouvé quelle case cocher pour préciser que ma demande est résolue !
 
A+

Reply

Marsh Posté le 12-04-2006 à 20:15:47    

Je t'en pris ;)
 
En fait, ce n'est pas une case à cocher :
 
Il faut éditer ton premier message pour pouvoir changer le titre du topic (bouton http://forum-images.hardware.fr/themes_static/images_forum/1/edit.gif). De cette manière, tu rajoutes un "[Résolu]" en fin ou début de titre.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed