Afficher classeur sous condition.

Arnaud61

XLDnaute Occasionnel
Bonsoir à tous.

Alors voilà, j'ai 2 fichiers Excel que je dois utiliser.

Sur le Fichier "A" j'ai un bouton qui me permet d'afficher le Fichier "B".

J'utilise cette macro:

Code:
Sub text()
Windows("B").activate
End sub

Le problème est que les fichier "A" et "B" doivent être ouvert...

J'aimerais une macro qui me fasse ça:

Si Fichier "B" n'est pas ouvert
Alors ouvrir fichier "B"
Sinon
Si Fichier "B" est ouvert
Alors activer le fichier "B" (Windows("B").activate)

Maintenant il y a une subtilité en plus:

Le nom de mon fichier "B" est variable.

Exemple : "B Lundi" - "B Mardi" - "B Mercredi" etc...

J'aimerais la syntaxe pour pouvoir dire : afficher le fichier avec "B" dans le nom.

Exemple: Windows ("B" & *).activate


Merci à vous
 
Dernière édition:

Arnaud61

XLDnaute Occasionnel
Re : Afficher classeur sous condition.

Première partie résolu:

Sub CommandButton1_Click()


On Error Resume Next
Workbooks("test.xls").Activate
If Err <> 0 Then
fichier = "c:\test.xls"
Workbooks.Open Filename:=fichier

End If
End Sub

Personne n'a d'idée pour mon nom de fichier variable?
 

kjin

XLDnaute Barbatruc
Re : Afficher classeur sous condition.

Si Fichier "B" n'est pas ouvert
Alors ouvrir fichier "B"
Le nom de mon fichier "B" est variable.
Exemple : "B Lundi" - "B Mardi" - "B Mercredi" etc...
Exemple: Windows ("B" & *).activate

bonsoir Arnaud61,
J'ai comme l'impression qu'excel doit deviner quel est le bon fichier à ouvrir
Il faut forcément, indiquer à un moment, quelle variable utiliser et où la trouver (lundi, mardi,...)
 

Arnaud61

XLDnaute Occasionnel
Re : Afficher classeur sous condition.

En fait, mes fichiers se nomment en réalité:
"Blabla - Semaine 1 à 4.xls"
"Blabla - Semaine 5 à 8.xls"
etc

Lorsque nous sommes en semaine 8 par exemple, l'utilisateur va créer le fichier "Blabla - Semaine 9 à 12.xls" en partant du fichier "Blabla - Vierge.xls"

Mon soucis est le fait que je dois récupérer des infos du fichiers du mois précédent: ici "Blabla - Semaine 5 à 8.xls"

L'utilisateur doit ouvrir le fichier vierge, appuyer sur un bouton et que tout se fasse tout seul.

(la macro fait un copier coller du fichier vierge, le renomme avec les bons numéros de semaine et récupère des données du mois précédent)

Donc pour définir les bons numéro de semaine, j'ai simplement crée un userform qui demande à mon utilisateur de renseignement le numéro de la semaine qui vient.

A la fin de la semaine 8, mon utilisateur va mettre 9.

Et donc je dis que i = 9 , que mon nouveau fichier va s'appeller:
"Blabla - Semaine " & i & " à " & i + 3 & ".xls"

C'est assez brouillon... mais c'est tout ce que j'ai trouvé pour l'instant...

J'aurais préféré ne pas demander à mon utilisateur de renseigner le chiffre et de dire:

Ouvrir le fichier avec la racine "Blabla - Semaine " & "*.xls" dans ma macro... mais malgrés mes recherches je ne trouve pas de solutions...

:)
 

kjin

XLDnaute Barbatruc
Re : Afficher classeur sous condition.

Bonsoir Arnaud61,
L'information concernant le N° de semaine (ou date) doit pouvoir être extraite d'une cellule (ou d'un nom de feuille) car elle doit bien apparaître qq part, non? De fait tu dois pouvoir l'utiliser pour renommer ton fichier automatiquement.
Mais sans plus d'infos, difficile de t'en dire plus...
A+
kjin
 

Arnaud61

XLDnaute Occasionnel
Re : Afficher classeur sous condition.

Bonsoir Arnaud61,
L'information concernant le N° de semaine (ou date) doit pouvoir être extraite d'une cellule (ou d'un nom de feuille) car elle doit bien apparaître qq part, non? De fait tu dois pouvoir l'utiliser pour renommer ton fichier automatiquement.
Mais sans plus d'infos, difficile de t'en dire plus...
A+
kjin

Justement non, mon utilisateur qui a le fichier "Blabla vierge" ouvert n'a nul part l'info du numéro de la future semaine.

En gros:

- Dans "C:\test\" , j'ai "Blabla vierge"
- Dans "C:\" j'ai "Blabla Semaine 8 à 11"


Il me faudrait une macro qui me récupère le "8", et je dois exécuter cette macro à partir du fichier "Blabla vierge"
Tout en sachant que mon fichier qui se trouve dans "C:\" varie selon les semaines.

Ou alors, quelque chose du genre: (ouvre moi le fichier excel qui se trouve dans C:)

Workbook.open Filename:=
"C:\" & "*.xls"

Une fois le fichier ouvert , je n'ai plus de mal à récupérer le numéro de semaine que je veux.
 

Discussions similaires

Statistiques des forums

Discussions
312 484
Messages
2 088 800
Membres
103 971
dernier inscrit
abdazee