compteur a l'ouverture du fichier

  • Initiateur de la discussion Initiateur de la discussion nini
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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]
 
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
 
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

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]
 
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! 😱

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
😛inch:

merci encore
 
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!! 😛
 
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]
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

M
Réponses
4
Affichages
700
MrNathan58
M
  • Question Question
Microsoft 365 aide userform
Réponses
11
Affichages
962
Retour