compteur a l'ouverture du fichier

N

nini

Guest
Bonjour a vous!

Je me demandais si c'étais possible de mettre un compteur dans un classeur, qui m'indiquerais dans la cellule A1 par exemple le nombre de fois que le classeur à été ouvert.

De là, afficher dans un autre classeur nommé 'compilation', une description detaillée

C'est à dire avoir le chiffre du compteur et par aussi le contenu des cellules B6 et C6

mais il faudrais que cela soit fait a la fermeture du classeur car je ne desire pas enregistrer les données chauqe fois

Merci
 

Jacques87

XLDnaute Accro
Bonsoir Nini

Est-ceci que tu désires
Attention n'oublie pas de sauvegarder avant chaque fermeture

Bonne soirée [file name=compteur_20060122213146.zip size=7036]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/compteur_20060122213146.zip[/file]
 
N

nini

Guest
euh! non je crois pas puisque ton exemple m'oblige a enregistrer et de plus je remplace les données enregistrées au lieu de les compilers.Je ne veux pas enregistrer rien dans ma page mais simplement que lors de la fermeture du classeur par exemple, il execute une sauvegarde dans un autre classeur des cellules cibles

tiens je joins un exemple
 
N

nini

Guest
voyons!! Je suis pas un crak mais je suis un andouille non plus, je ressais de joindre le foutu fichier :angry: [file name=compteurfax.zip size=2856]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/compteurfax.zip[/file]
 

Pièces jointes

  • compteurfax.zip
    2.8 KB · Affichages: 39

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir Nini, Jacques, le Forum

Pas vraiment certain d'avoir compris ta demande même avec ton fichier joint, mais on peut facilement générer des Fichiers TXT sans que l'utilisateur s'en rende compte et sans qu'il sauve le classeur...

Sub SpyOnTxt() '<<<à lancer depuis ThisWorkBook 'Private Sub Workbook_BeforeClose(Cancel As Boolean)'
Dim ThePath As String
Dim Counter As Long
Dim ValB6 As String, ValC6 As String
Dim Record As String
Dim Container As Variant

ThePath = 'C:\TheSpy.txt'

With Sheets('Feuil1')
    ValB6 = .Range('B6')
    ValC6 = .Range('C6')
End With

On Error GoTo GenerateTXTFirstTime
Open ThePath For Input As #1
On Error GoTo 0

   
Do While Not EOF(1)
    Line
Input #1, Record
   
Loop

    Container = Split(Record, Chr(9))
    Counter = Container(0) + 1
Close #1


Open ThePath For Append As #1
   
Print #1, Counter & Chr(9) & ValB6 & Chr(9) & ValC6
Close #1

Exit Sub
GenerateTXTFirstTime:
Counter = 1
Open ThePath For Output As #1
   
Print #1, Counter & Chr(9) & ValB6 & Chr(9) & ValC6
Close #1

End Sub

NB les anti slash ne passent pas par conséquent cette Ligne est à lire ainsi :

Code:
[size=3]ThePath = 'C:\\TheSpy.txt'[/size]

Et bien entendu à ajuster à ton chemin réél...

Ce code te générera automatiquement un 'Log' TXT avec tabulation que tu pourras ouvrir sous Excel...

Bonne nuit
[ol]@+Thierry[/ol]
 
N

nini

Guest
wow merci thierry

vraiment impressionnant mais je n'y comprend rien..j'ai bien essayé de coller ton code dans this workbook before_close mais ca ne semble donner aucun resultat. De plus, anti slash je ne sais même pas c'est quoi! :eek:

J'ai par contre continué de mon coté et à l'aide du fichier a jacques, J'ai pas mal reussi a faire ce que je cherchais. Par contre, il enregistre toujours dans les même cellules et je perds donc les données précédentes

Il me manque seulement le code pour lui mentionner de changer de ligne ou quelque chose du genre


JE DOIS PAR CONTRE ENREGISTRER LES MODIFs A CHAQUE SORTIE
:pinch:

merci encore
 
N

nini

Guest
YEAH!!

Merci Jacques87 & thierry

Apres m'etre servi de vos informations, j'ai finalement reussi a faire marcher le tout a merveille...enfin a premiere vue

Mais comme j'ai les yeux très lourds, je vais revoir ca demain matin

Merci mille fois!! :p
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Nini, Jacques, le Forum

Pour pouvoir lancer ce code (le mien) à la fermeture de ton classeur même si celui-ci n'est pas sauvé :

Placer ceci dans le Provate Module de ThisWorkBook :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    SpyOnTxt
End Sub


Ensuite tu places le code intégrale dans un Module Standard (Module1 par exemple)

Sub SpyOnTxt()
Dim ThePath As String
Dim Counter As Long
Dim ValB6 As String, ValC6 As String
Dim Record As String
Dim Container As Variant

ThePath = 'C:TheSpy.txt'

With Sheets('Feuil1')
    ValB6 = .Range('B6')
    ValC6 = .Range('C6')
End With

On Error GoTo GenerateTXTFirstTime
Open ThePath For Input As #1
On Error GoTo 0

   
Do While Not EOF(1)
    Line
Input #1, Record
   
Loop

    Container = Split(Record, Chr(9))
    Counter = Container(0) + 1
Close #1


Open ThePath For Append As #1
   
Print #1, Counter & Chr(9) & ValB6 & Chr(9) & ValC6
Close #1

Exit Sub
GenerateTXTFirstTime:
Counter = 1
Open ThePath For Output As #1
   
Print #1, Counter & Chr(9) & ValB6 & Chr(9) & ValC6
Close #1

End Sub


Un 'Anti-Slash' c'est le caractère 92 qui est la barre oblique opposée à un slash : ' / ' mais elle ne passe pas dans la mise en page de ce Forum. Par contre il faut en tenir contre dans le Chemin où tu veux sauver ton fichier TXT (Texte)

Bonne Journée et Semaine
[ol]@+Thierry[/ol]
 

Discussions similaires

Statistiques des forums

Discussions
312 431
Messages
2 088 367
Membres
103 833
dernier inscrit
Arno42160