Activation fichier

bbobb

XLDnaute Occasionnel
Bonsoir le forum,
Par macro, j'ouvre un fichier en fonction de sa date. Ensuite je dois revenir dessus plusieurs fois pour y récupérer des infos. Actuellement je le ferme et l'ouvre à chaque fois... je ne trouve pas le code pour l'activer tout simplement...
Ci-dessous l'extrait de la marco...

Merci d'avance pour votre aide
Bbobb

Nom_fic = "C:\Users\Pascal\Desktop\Macro ch p 2010\Test CRT auto\Test macro web CRT\ACT001_" & Valannee & "." & ValMois & "." & Valjour & ".*.xls"

Workbooks.OpenText Filename:=Nom_fic 'ouverture du fichier
'chercher nombre de transaction en espèces
Dim Est As Range, Col As Byte, CaG As Single
Set Est = Cells.Find("Espèces")
If Est Is Nothing Then
CaG = 0
Else
Col = Est.Column
Set Est = Cells.Find("Total Nb paiements")
CaG = Cells(Est.Row, Col)
End If
Cells(Est.Row, Col).Select
ActiveWindow.Close 'fermeture du fichier
Workbooks("Chiffre d'affaire global.xls").Activate 'fichier ouvert
ActiveSheet.Cells(6, col_date) = CaG 'ou ailleurs

Workbooks.OpenText Filename:=Nom_fic 'reouverture du fichier
 

néné06

XLDnaute Accro
Re : Activation fichier

Bonsoir bbobb
la simple commande Activate activera ton classeur,puis "activate" sur un autre sans "close" , t'afichera le classeur voulu.
Tu peux ouvrir plusieurs classeur sans les fermer.

Workbooks("Chiffre d'affaire global.xls").Activate 'fichier ouvert

Cordialement
 

bbobb

XLDnaute Occasionnel
Re : Activation fichier

Bonsoir néné06,
Pas de soucis pour activer "Chiffre d'affaire global.xls", le problème c'est pour activer "Workbooks.OpenText Filename:=Nom_fic"...
J'ai essayé "Workbooks("Nom_fic").Activate" mais cela ne fonctionne pas...

Une autre idée ?
Merci
Bonne soirée
Bbobb
 

bbobb

XLDnaute Occasionnel
Activation classeur déja ouvert

Bonsoir le forum,
Suite au conseil avisé de néné06
j'ai donc joint un fichier.

Donc dans la macro, j'ouvre des fichier par la commande :
Nom_fic1 = "C:\Users\...\ACT001_" & Valannee & "." & Valmois & "." & Valjour & ".*.xls"

Je dois revenir sur ce fichier plusieurs fois sans le fermer mais à la commande :
Workbooks.OpenText Filename:=Nom_fic1
j'ai le message suivant : le fichier est déja ouvert, si vous l'ouvrez à nouveau les données seront perdues...

En fait il suffirait de l'activer mais je ne trouve pas le code : AU SECOURS !!!!!!

Merci d'avance pour votre aide
Bbobb
 

Pièces jointes

  • Chiffre d'affaire global Avril 2011.xls
    67 KB · Affichages: 51
  • Chiffre d'affaire global Avril 2011.xls
    67 KB · Affichages: 55
  • Chiffre d'affaire global Avril 2011.xls
    67 KB · Affichages: 48
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Activation fichier

Bonjour,

petite question idiote, pourquoi utiliser la méthode "OpenTexte", plutôt que la méthode "open" s'agissant de fichier xls.... perso utiliserais une variable objet, comme dans l'exemple ci-dessous :
Code:
Dim wb As Workbook
Nom_fic1 = "C:\Users\Pascal\Desktop\Macro ch p 2010\Test CRT auto\Test macro web CRT\ACT001_" & Valannee & "." & Valmois & "." & Valjour & ".*.xls"
Set wb = Workbooks.Open(Nom_fic1)

ensuite partout dans ton code, lorsque tu veux intervenir sur ce classeur tu fais référence à cette variable...
Code:
wb.Activate

bonne journée
@+
 

bbobb

XLDnaute Occasionnel
Re : Activation fichier

Bonjour Pierrot,
Ta solution fonctionne très bien... à un détail près : le * après " & Valjour & ". Il s'agit d'une variable que je ne connais pas à l'avance. J'ai fait un test sur un fichier connu en entrant la bonne valeur : ça fonctionne.
Je ne sais pas comment résoudre ce problème...

Bonne soirée
Bbobb
 

Pierrot93

XLDnaute Barbatruc
Re : Activation fichier

re,

essaye peut être ainsi :
Code:
Nom_fic1 = Dir("C:\Users\Pascal\Desktop\Macro ch p 2010\Test CRT auto\Test macro web CRT\ACT001_" & Valannee & "." & Valmois & "." & Valjour & ".*.xls")
if Nom_fic1 = "" then exit sub 
Set wb = Workbooks.Open(Nom_fic1)

bonne soirée
@+
 

bbobb

XLDnaute Occasionnel
Re : Activation fichier

bonsoir Pierrot,
Je ne comprend pas, le code fonctionne, lorsque je pose la souris sur If Nom_fic1 = "" Then le fichier est bien identifié, j'ai vérifié que le chemin d'accès est correct, mais à l'éxecution une fenêtre erreur d'éxécution 1004 apparait :'ACT001_2011.04.02.050013.xls' est introuvable.
Je joint les 2 fichiers si cela peut aider...

Merci
Bbobb
 

Pièces jointes

  • Chiffre d'affaire global Avril 2011.xls
    68.5 KB · Affichages: 42
  • ACT001_2011.04.02.050013.xls
    23.5 KB · Affichages: 42
  • Chiffre d'affaire global Avril 2011.xls
    68.5 KB · Affichages: 49
  • Chiffre d'affaire global Avril 2011.xls
    68.5 KB · Affichages: 46

Pierrot93

XLDnaute Barbatruc
Re : Activation fichier

Bonjour,

essaye comme ceci :
Code:
Dim chemin As String, Nom_fic1 As String
chemin = "C:\Users\Pascal\Desktop\Macro ch p 2010\Test CRT auto\Test macro web CRT\"
Nom_fic1 = Dir(chemin & "ACT001_" & Valannee & "." & Valmois & "." & Valjour & ".*.xls")
If Nom_fic1 = "" Then Exit Sub
Set wb = Workbooks.Open(chemin & Nom_fic1)

bonne journée
@+
 

bbobb

XLDnaute Occasionnel
Re : Activation fichier

Bonjour Pierrot
Merci encore pur ton aide précieuse...
Ta dernière solution semble fonctionner. Je teste sur le fichier "grandeur nature" et reviens vers le forum pour cloturer le post ou re-crier au secours...
Bonne journée
Bbobb
 

Statistiques des forums

Discussions
311 720
Messages
2 081 907
Membres
101 836
dernier inscrit
karmon