Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro s'éxécutant sur fichier xlt

4 réponses
Avatar
Emile63
Bonjour a tous,

Depuis un mod=E8le de facture (xlt) je souhaite pouvoir =E9crire dans un
onglet "Registre" masqu=E9, la derni=E8re fois qu'il =E0 =E9t=E9 utilis=E9 =
(ouvert-
>copi=E9). Le probl=E8me c'est que que le bout de code que j'y ai mis **,
s'inscrit sur le "rejeton" copi=E9 (xls) mais pas dans le mod=E8le (xlt),
du coup, je n'ai pas l'historique que je souhaitais avoir par cette
d=E9marche...
Quelqu'un aurait une solution ou une id=E9e?

---------------------------
Private Sub Workbook_Open()
Dim i As Long
i =3D Sheets("Registre").Cells(Rows.Count, 1).End(xlUp).Row + 1
Sheets("Registre").Cells(i, 1) =3D Now
Sheets("Registre").Cells(i, 2) =3D Environ("Username")
End Sub
---------------------------
Merci d'avance pour votre aide,
Cordialement,
Emile

4 réponses

Avatar
DanielCo
Bonsoir.
Pas du tout sûr d'avoir compris. Peut-être en utilisant l'évènement
Workbook_Activate ?
Cordialement.
Daniel


Bonjour a tous,

Depuis un modèle de facture (xlt) je souhaite pouvoir écrire dans un
onglet "Registre" masqué, la dernière fois qu'il à été utilisé (ouvert-
copié). Le problème c'est que que le bout de code que j'y ai mis **,


s'inscrit sur le "rejeton" copié (xls) mais pas dans le modèle (xlt),
du coup, je n'ai pas l'historique que je souhaitais avoir par cette
démarche...
Quelqu'un aurait une solution ou une idée?

---------------------------
Private Sub Workbook_Open()
Dim i As Long
i = Sheets("Registre").Cells(Rows.Count, 1).End(xlUp).Row + 1
Sheets("Registre").Cells(i, 1) = Now
Sheets("Registre").Cells(i, 2) = Environ("Username")
End Sub
---------------------------
Merci d'avance pour votre aide,
Cordialement,
Emile
Avatar
michdenis
Bonjour,

Ce que tu demandes est d'écrire des données dans un fichier fermé.
Le fichier fermé étant ton fichier modèle.

Ce type d'opération n'est pas simple ! Voici, tu as 2 fichiers zippés que
tu conserveras dans le même répertoire.
Ce fichier "Exemple - écrire dans un fichier fermé1.xls" contient toutes les procédures
Ce fichier "Exemple - écrire dans un fichier - récipient.xls" celui où l'information sera écrite.

Tu ouvres le fichier qui contient les procédures en maintenant la touche Maj enfoncé
pour voir les macros. Tu fermes...
Maintenant tu fais une ouverture normale du fichier contenant les procédures.
Les données que tu désires s'inscriront dans l'autre fichier et le module MichD
se supprimera et le classeur s'enregistrera.

http://cjoint.com/?0cbvRy4ulvu

Évidemment, tu devras adapter cela à ton environnement et modifier la
valeur des variables en conséquence...

Bonne chance et amuse-toi bien !
;-)

MichD
--------------------------------------------
Avatar
michdenis
Ce serait plus facile en utilisant un fichier texte.

Tu inscris sur la premier ligne du fichier :
Nom de l'usager ; La date

à chaque fois que tu ouvres le fichier, le nom de l'usager et la
date s'ajouter au fichier .csv que tu peux ouvrir subséquemment
dans un fichier Excel si nécessaire.

'-----------------------------------------------
Sub Écrire_Dans_Un_Fichier_Texte()

Dim Chemin As String, Fichier As String
Dim Texte As String
Dim X As Long

'********Variables à définir********
Chemin = "c:"
Fichier = "MonFichier.csv"
'***********************************

X = FreeFile
Texte = Environ("Username") & ";" & Now()
'Open Chemin & Fichier For Append Shared As #X
Open Chemin & Fichier For Append As #X
Print #X, Texte
Close #X
End Sub
'-----------------------------------------------

MichD
--------------------------------------------
Avatar
Emile63
On 3 feb, 15:13, "michdenis" wrote:


Bonsoir MichDenis,

Merci pour ton aide et ce judicieux conseil.
En effet je "ramais" un peu en testant ta précédente proposition, et
cette nouvelle voie me parraît plus simple...
Je testerai tous ça, (je m'absente quelques jours) et te tiens au
courant. :-)
Encore une fois, merci.
Bonne soirée,
Emile