OVH Cloud OVH Cloud

publipostage oui mais.....

2 réponses
Avatar
Zoltan
Salut à tous,

j'ai une base de données sous Excel qui me sert aussi
pour imprimer des étiquettes, tout fonctionne bien, mais
je suis obligé à chaque fois de chercher la source, parce que
ma base fais une sauvegarde par jour et qui porte le nom
du jour, par exemple mon fichier se nomme Fidelus et les
sauvegardes se présentent ainsi :
fidelus_lundi
fidelus_mardi
fidelus_mercredi etc.
ce qui fait que chaque fois je suis obligé d'indiquer comme source
la dernière sauvegarde, n'y a t-il pas un moyen d'automatiser ça
par exemple par une macro ?

merci de vos conseils

--
http://perso.wanadoo.fr/aquabidule/
http://www.rouhling.net
http://www.aquariumdudiscus.fr

2 réponses

Avatar
Guy Moncomble
Bonjour à tous,
dans le message <eCnVvG%,

|| C'est curieux comme organisation. En général c'est la source
|| principale qu'il faut prendre, pas les sauvegardes.
| mais si, je m'explique,
| mon utilitaire Excel sert à gérer des cartes de fidélités, et si je
| prend par exemple le lundi alors qu'on est samedi et que pas mal de
| cartes
| se sont rajoutées, ça fera autant de personnes qui n'auront pas
| le courrier, c'est pour ça que je voulais avoir comme source la
| dernière sauvegarde tu comprends?

D'accord, mais prendre le jour de la semaine comme base n'est pas un
bonne solution. Par exemple la veille du jour où tu travailles peut être
un jour férié, le 8 mai par exemple %*@:-( . Il faut donc examiner les
dates de sauvegarde (ou de création).
Pour cela FileDateTime suffit. Voici une petite macro écrit par toto,
qui fait le travail pour toi, tu n'as qu'à l'adapter :


Public Sub toto()
Dim ListeFichier, Chemin As String, Fichier As String, NbFichiers As
Integer, NumDernierSauve As Integer
Dim DateModif As Date, DerniereDate As Date
Dim iBoucle As Integer
'Chemin de base
Chemin = "D:DocGuyMes développementsEssai"
'Liste des fichiers à comparer
ListeFichier = Array("DocPrincipalEssaiPublipostage.doc",
"EssaiBasePublipostage.doc")
NbFichiers = UBound(ListeFichier)
'On initialise avec la date de sauvegarde du dernier fichier (pas le
premier, pour ne pas avoir à tester la validité de la boucle)
Fichier = ListeFichier(NbFichiers)
DerniereDate = FileDateTime(Chemin & Fichier)
'On boucle sur le reste des fichiers
For iBoucle = 0 To NbFichiers - 1
Fichier = ListeFichier(iBoucle)
DateModif = FileDateTime(Chemin & Fichier)
If DateModif >= DerniereDate Then
DerniereDate = DateModif
NumDernierSauve = iBoucle
End If
Next iBoucle
MsgBox "Le dernier fichier sauvé est " & ListeFichier(NumDernierSauve) &
vbCrLf & "enregistré le " & DerniereDate, vbOKOnly + vbInformation, "Dat
es de sauvegarde"
End Sub

--
A+

GMO MVP Word

Laissées à elles-mêmes, les choses tendent à aller de pire en pire. Se
faire aider ne fait qu'accélérer le processus.

Edward A. Murphy, Jr.
Avatar
Zoltan
D'accord, mais prendre le jour de la semaine comme base n'est pas un
bonne solution.
finalement je vais faire un essai avec le fichier lui même puisqu'il

porte toujours le même nom

Pour cela FileDateTime suffit. Voici une petite macro écrit par toto,
qui fait le travail pour toi, tu n'as qu'à l'adapter :
oui, c'est pas mal du tout, sauf que les personnes qui vont utiliser

l'utilitaire et imprimer les étiquettes n'y connaissent rien en informatique
et savent à peine cliquer sur une souris,
donc il faut que je simplifie au maximum

mais comme dit, avec comme fichier de référence l'utilitaire ça devrait
aller

merci à tous