Enregistrement auto dans mes documents
Fermé
bcharly
Messages postés
12
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
4 février 2009
-
2 févr. 2009 à 22:08
Kristobal45 - 15 mai 2009 à 12:22
Kristobal45 - 15 mai 2009 à 12:22
A voir également:
- Enregistrement auto dans mes documents
- Comment enregistrer un mail dans mes documents - Guide
- Telecharger auto refresh - Télécharger - Divers Web & Internet
- Telecharger studio d'enregistrement rap - Télécharger - Édition & Montage
- Auto mouse click - Télécharger - Divers Utilitaires
- Comment supprimer une page dans un document word - Guide
8 réponses
Utilisateur anonyme
3 févr. 2009 à 13:56
3 févr. 2009 à 13:56
re:
Voici :
Lupin
Voici :
Sub EnregistrerOffre() Dim Lecteur As String, Chemin As String Dim Message As String, MonFichier As String Lecteur = "C:" Chemin = "\Documents and Settings\" & TrouveUtilisateur Chemin = Chemin & "\Mes Documents\" If DossierExiste(Lecteur & Chemin) Then MonFichier = Lecteur & Chemin & Range("AH1").Value & "_" & Range("AH2").Value & ".xls" ActiveWorkbook.SaveAs Filename:=MonFichier, _ FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False Message = "Fichier créé dans " & Lecteur & Chemin Else Chemin = "\Temp\" If DossierExiste(Lecteur & Chemin) Then MonFichier = Lecteur & Chemin & Range("AH1").Value & "_" & Range("AH2").Value & ".xls" ActiveWorkbook.SaveAs Filename:=MonFichier, _ FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False Message = "Fichier créé dans " & Lecteur & Chemin Else Message = "Impossible de trouver un répertoire valide!" End If End If MsgBox Message End Sub ' Function TrouveUtilisateur() As String Dim oWsh As Object, oWshEnv As Object Set oWsh = CreateObject("WScript.Shell") Set oWshEnv = oWsh.Environment("PROCESS") TrouveUtilisateur = oWsh.ExpandEnvironmentStrings("%username%") Set oWshEnv = Nothing Set oWsh = Nothing End Function ' Function DossierExiste(ByVal NomDossier As String) As Boolean Dim objFS As Object, objDossier As Object Set objFS = CreateObject("Scripting.FileSystemObject") On Error Resume Next Set objDossier = objFS.GetFolder(NomDossier) If Error = "Chemin d'accès introuvable" Then DossierExiste = False Else DossierExiste = True End If End Function '
Lupin
bcharly
Messages postés
12
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
4 février 2009
3 févr. 2009 à 14:48
3 févr. 2009 à 14:48
C'est exactement le résultat que je désirais !!!!
Merci 1000 fois !
Ne serait-cepas trop te demander s'il y a possibilité d'ajouter un dossier dans Mes documents ?
J'aimerais que VB créé un fichier "Archive" automatiquement s'il n'existe pas encore. De cette manière, les enregistrements ne se trouveraient plus dans "Mes documents" mais dans "Mes documents\Archives\"
???
Merci 1000 fois !
Ne serait-cepas trop te demander s'il y a possibilité d'ajouter un dossier dans Mes documents ?
J'aimerais que VB créé un fichier "Archive" automatiquement s'il n'existe pas encore. De cette manière, les enregistrements ne se trouveraient plus dans "Mes documents" mais dans "Mes documents\Archives\"
???
Utilisateur anonyme
3 févr. 2009 à 16:57
3 févr. 2009 à 16:57
re:
Nouvelle version :-)
Lupin
Nouvelle version :-)
Option Explicit ' Sub EnregistrerOffre() Dim Lecteur As String, Chemin As String Dim Message As String, MonFichier As String Dim NomFichier As String NomFichier = Range("AH1").Value & "_" & Range("AH2").Value & ".xls" Lecteur = "C:" Chemin = CreationDossierArchive(Lecteur) If (Chemin <> "") Then Chemin = Lecteur & Chemin If DossierExiste(Chemin) Then MonFichier = Chemin & NomFichier Application.DisplayAlerts = False ActiveWorkbook.SaveAs MonFichier Application.DisplayAlerts = True Message = "Fichier créé dans : " & vbLf & Chemin & vbLf Message = Message & vbLf & "Le chemin d'accès : " & vbLf & MonFichier Else Chemin = "\Temp\" If DossierExiste(Lecteur & Chemin) Then MonFichier = Lecteur & Chemin & NomFichier Application.DisplayAlerts = False ActiveWorkbook.SaveAs MonFichier Application.DisplayAlerts = True Message = "Fichier créé dans : & vblf " & Chemin & vbLf Message = Message & vbLf & "Le chemin d'accès : " & vbLf & MonFichier Else Message = "Impossible de trouver un répertoire valide!" End If End If Else Message = "Impossible de trouver un répertoire valide!" End If MsgBox Message End Sub ' Function CreationDossierArchive(ByVal strLecteur As String) As String Dim strChemin As String, strUtilisateur As String strUtilisateur = TrouveUtilisateur strChemin = "\Documents and Settings\" & TrouveUtilisateur strChemin = strChemin & "\Mes Documents\" If DossierExiste(strLecteur & strChemin) Then If (DossierExiste(strLecteur & strChemin & "Archives")) Then CreationDossierArchive = strChemin & "Archives\" Else ChDrive strLecteur ChDir strChemin MkDir "Archives" CreationDossierArchive = strChemin & "Archives\" End If Else CreationDossierArchive = "" End If End Function ' Function TrouveUtilisateur() As String Dim oWsh As Object, oWshEnv As Object Set oWsh = CreateObject("WScript.Shell") Set oWshEnv = oWsh.Environment("PROCESS") TrouveUtilisateur = oWsh.ExpandEnvironmentStrings("%username%") Set oWshEnv = Nothing Set oWsh = Nothing End Function ' Function DossierExiste(ByVal NomDossier As String) As Boolean Dim objFS As Object, objDossier As Object Set objFS = CreateObject("Scripting.FileSystemObject") On Error Resume Next Set objDossier = objFS.GetFolder(NomDossier) If Error = "Chemin d'accès introuvable" Then DossierExiste = False Else DossierExiste = True End If End Function '
Lupin
Utilisateur anonyme
3 févr. 2009 à 18:35
3 févr. 2009 à 18:35
re:
J'ai oublié de libérer les instances dans la fonction [ DossierExiste ].
Lupin
J'ai oublié de libérer les instances dans la fonction [ DossierExiste ].
Function DossierExiste(ByVal NomDossier As String) As Boolean Dim objFS As Object, objDossier As Object Set objFS = CreateObject("Scripting.FileSystemObject") On Error Resume Next Set objDossier = objFS.GetFolder(NomDossier) If Error = "Chemin d'accès introuvable" Then DossierExiste = False Else DossierExiste = True End If Set objDossier = Nothing Set objFS = Nothing End Function '
Lupin
bcharly
Messages postés
12
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
4 février 2009
3 févr. 2009 à 21:30
3 févr. 2009 à 21:30
Ca fonctionne. Respect.
Par contre, si le fichier a déjà été enregistré sous le même nom, il est écrasé alors qu'auparavant, il était signalé et on avait le choix de le remplacer ou non. Est-ce normal ?
Par contre, si le fichier a déjà été enregistré sous le même nom, il est écrasé alors qu'auparavant, il était signalé et on avait le choix de le remplacer ou non. Est-ce normal ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
4 févr. 2009 à 05:16
4 févr. 2009 à 05:16
re:
Pas vraiment, j'ai codé cet état de chose ???
Désolé, mais je code disons de façon systématique ...
Ça dépend toujours de ce que l'on veut obtenir.
Peut-être que la concatenation de :
Range("AH1").Value & "_" & Range("AH2").Value & ".xls"
m'avait fait penser que tu avais prévue un compteur de version.
Regarde ces instructions :
Juste avant la sauvegarde, les messages d'alerte sont désactivés
et juste après la sauvegarde, ils sont réactivés.
Si et seulement si tu ne dois pas écraser le(s) fichier(s),
enlève ces quatres lignes de la procédure [ Sub EnregistrerOffre() ]
Un exemple des deux cas ( donc 2 lignes à supprimer ou placer en commentaires )
En toute amitié :-) du Québec
Lupin
Pas vraiment, j'ai codé cet état de chose ???
Désolé, mais je code disons de façon systématique ...
Ça dépend toujours de ce que l'on veut obtenir.
Peut-être que la concatenation de :
Range("AH1").Value & "_" & Range("AH2").Value & ".xls"
m'avait fait penser que tu avais prévue un compteur de version.
Regarde ces instructions :
Application.DisplayAlerts = False ActiveWorkbook.SaveAs MonFichier Application.DisplayAlerts = True
Juste avant la sauvegarde, les messages d'alerte sont désactivés
et juste après la sauvegarde, ils sont réactivés.
Si et seulement si tu ne dois pas écraser le(s) fichier(s),
enlève ces quatres lignes de la procédure [ Sub EnregistrerOffre() ]
Un exemple des deux cas ( donc 2 lignes à supprimer ou placer en commentaires )
MonFichier = Chemin & NomFichier Application.DisplayAlerts = False ActiveWorkbook.SaveAs MonFichier Application.DisplayAlerts = True par MonFichier = Chemin & NomFichier 'Application.DisplayAlerts = False ActiveWorkbook.SaveAs MonFichier 'Application.DisplayAlerts = True ou MonFichier = Chemin & NomFichier ActiveWorkbook.SaveAs MonFichier
En toute amitié :-) du Québec
Lupin
bcharly
Messages postés
12
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
4 février 2009
4 févr. 2009 à 09:32
4 févr. 2009 à 09:32
Merci d'avoir répondu à toutes mes demandes. Il ne me reste plus qu'à analyser toutes ces requêtes afin de bien comprendre leur fonctionnement.
Tu m'a permis de gagner beaucoup de temps.
Amitié également,
De la part d'un gars du nord de la france.
Eh ouais...mi chuis ch'ti !!!
Tu m'a permis de gagner beaucoup de temps.
Amitié également,
De la part d'un gars du nord de la france.
Eh ouais...mi chuis ch'ti !!!
Bonjour,
J'ai put lire tes recommandations sur le forum et j'ai été surpris pas ton efficacité.
Je cherche un code VBA qui me permettrait de faire des sauvegardes automatiques avec incrémentation du nom du fichier. Pour le moment j'en suis là:
Sub numero()
Dim num As Integer
Dim nom As String
Dim numLigne As String
Range("N1").Select
num = Range("N1").Value
num = num + 1
Range("N1").Value = num
numLigne = ActiveCell.Row
nom = "Fiche_" & num & "_" & Format(Date, "dd-mm-yyyy") & ".xls"
ActiveWorkbook.SaveAs "C:\Documents and Settings\STAGESG-ADC\Bureau\Test BDD\" & " SG " & nom
End Sub
Mon problème est que je souhaite travailler à partir d'un fichier modèle (à utiliser comme formulaire) du coup mon numéro d'incrémentation n'est pas sauvegardé et repars à "1". Comment faire? je crois avoir vu des fonctions de type "autonumber", "autoincrement" ou "assign number" mais je ne suis parvenu à aucun résultat concluant. Je crois savoir qu'il faudrait que je créé un autre fichier qui me servirait de compteur mais je ne suis pas parvenu à indiquer le chemin du fichier dans mon.
Aurais tu l'amabilité de me prêter conseil?!
Merci par avance.
Chris
J'ai put lire tes recommandations sur le forum et j'ai été surpris pas ton efficacité.
Je cherche un code VBA qui me permettrait de faire des sauvegardes automatiques avec incrémentation du nom du fichier. Pour le moment j'en suis là:
Sub numero()
Dim num As Integer
Dim nom As String
Dim numLigne As String
Range("N1").Select
num = Range("N1").Value
num = num + 1
Range("N1").Value = num
numLigne = ActiveCell.Row
nom = "Fiche_" & num & "_" & Format(Date, "dd-mm-yyyy") & ".xls"
ActiveWorkbook.SaveAs "C:\Documents and Settings\STAGESG-ADC\Bureau\Test BDD\" & " SG " & nom
End Sub
Mon problème est que je souhaite travailler à partir d'un fichier modèle (à utiliser comme formulaire) du coup mon numéro d'incrémentation n'est pas sauvegardé et repars à "1". Comment faire? je crois avoir vu des fonctions de type "autonumber", "autoincrement" ou "assign number" mais je ne suis parvenu à aucun résultat concluant. Je crois savoir qu'il faudrait que je créé un autre fichier qui me servirait de compteur mais je ne suis pas parvenu à indiquer le chemin du fichier dans mon.
Aurais tu l'amabilité de me prêter conseil?!
Merci par avance.
Chris
Utilisateur anonyme
13 mai 2009 à 18:34
13 mai 2009 à 18:34
Bonjour,
Alors voici une suggestion :
p.s. déformation professionnel, j'ai modifié les noms de variables.
Lupin
Alors voici une suggestion :
Option Explicit Sub Numero() Dim intNum As Integer Dim strNom As String Dim strLigne As String With ActiveSheet .Range("N1").Select intNum = (.Range("N1").Value + 1) .Range("N1").Value = intNum strLigne = ActiveCell.Row End With ' Ici il faut sauvegarder le modèle ' avec le numéro incrémenter ActiveWorkbook.Save strNom = "Fiche_" & intNum & "_" & Format(Date, "dd-mm-yyyy") & ".xls" ' Ici j'ai volontairement enlevé l'espace qui précède ' le début du nom, soit : [ SG ] ' Il n'est certes pas recommandé de commencer le nom d'un fichier ' par un espace !!! ActiveWorkbook.SaveAs "C:\Documents and Settings\STAGESG-ADC\Bureau\Test BDD\" & "SG " & strNom End Sub '
p.s. déformation professionnel, j'ai modifié les noms de variables.
Lupin
Bonjour Lupin,
Merci pour ta suggestion, je viens de tester ton code mais mon compteur reste toujours à "1". En effet une sauvegarde du fichier est faite mais sous que modèle. Ce que je souhaiterai est en fait une "numérotation" comme pour le modèle "facture" (invoice.xlt) que l'on trouve sous EXCEL. La fonction s'intitule "attribuer un numéro". Je souhaiterai que seul le compteur s'incrémente dans mon modèle sans garder les données saisies dans mon formulaire (modèle).
Il faudrait que mon compteur garde le dernier enregistrement dans le modèle (ou dans un fichier annexe qu'on appelerait "increment_numero" par exemple).
Le but étant que je puisse à chaque fois remplir mon modèle comme un formulaire, que le fichier soit sauvegardé sous un nom type fiche_001, puis fiche_002 et ainsi de suite... pour cela il faut que mon compteur s'incrémente et soit sauvegardé.
J'ai déjà fait plusieurs tests et recherches sur le net avec ces éléments mais je bloque, mes connaissance sous VB sont limitées, ce serait sympa de ta part de me proposer une solution.
Merci d'avance.
Chris
Merci pour ta suggestion, je viens de tester ton code mais mon compteur reste toujours à "1". En effet une sauvegarde du fichier est faite mais sous que modèle. Ce que je souhaiterai est en fait une "numérotation" comme pour le modèle "facture" (invoice.xlt) que l'on trouve sous EXCEL. La fonction s'intitule "attribuer un numéro". Je souhaiterai que seul le compteur s'incrémente dans mon modèle sans garder les données saisies dans mon formulaire (modèle).
Il faudrait que mon compteur garde le dernier enregistrement dans le modèle (ou dans un fichier annexe qu'on appelerait "increment_numero" par exemple).
Le but étant que je puisse à chaque fois remplir mon modèle comme un formulaire, que le fichier soit sauvegardé sous un nom type fiche_001, puis fiche_002 et ainsi de suite... pour cela il faut que mon compteur s'incrémente et soit sauvegardé.
J'ai déjà fait plusieurs tests et recherches sur le net avec ces éléments mais je bloque, mes connaissance sous VB sont limitées, ce serait sympa de ta part de me proposer une solution.
Merci d'avance.
Chris
Utilisateur anonyme
14 mai 2009 à 14:15
14 mai 2009 à 14:15
Bonjour,
Voilà, je n'avais pas réalisé que tu travaillais avec un modèle ( XLT ).
Donc, lorsque tu ouvre le modèle, celui-ci est transformé en ( XLS ).
Il suffit donc, à ce moment d'ouvrir le modèle pour incrémenter le compteur,
et de saugarder le modèle et de le fermer.
Exemple type :
Testé et fonctionnel sur XL2003.
n.b. Ce code doit être placé dans le modèle et les chemins déclarés en constante doivent
être adapté.
Lupin
Voilà, je n'avais pas réalisé que tu travaillais avec un modèle ( XLT ).
Donc, lorsque tu ouvre le modèle, celui-ci est transformé en ( XLS ).
Il suffit donc, à ce moment d'ouvrir le modèle pour incrémenter le compteur,
et de saugarder le modèle et de le fermer.
Exemple type :
Option Explicit Sub Numero() Dim intNum As Integer, strNom As String, strZero As String intNum = LireInfoFichier With Sheets("Feuil1") .Range("N1").Value = intNum End With If (intNum < 10) Then strZero = "00" Else If (intNum > 9) And (intNum < 100) Then strZero = "0" Else If (intNum > 99) Then strZero = "" End If End If End If strNom = "Fiche_" & strZero & intNum & "_" & Format(Date, "dd-mm-yyyy") & ".xls" ActiveWorkbook.SaveAs "C:\Documents and Settings\STAGESG-ADC\Bureau\Test BDD\" & "SG " & strNom 'ActiveWorkbook.SaveAs "C:\Document\Programmation\VBA\Excel\" & "SG " & strNom End Sub ' Function LireInfoFichier() As Integer Const cteCheminModele = "C:\Document\Programmation\VBA\Excel\" Const cteNomModele = "Invoice.xlt" Dim strCheminFichier As String strCheminFichier = cteCheminModele & cteNomModele Workbooks.Open Filename:=strCheminFichier, Editable:=True With Sheets("Feuil1") LireInfoFichier = (.Range("N1").Value + 1) .Range("N1").Value = LireInfoFichier End With ActiveWorkbook.Save ActiveWorkbook.Close End Function '
Testé et fonctionnel sur XL2003.
n.b. Ce code doit être placé dans le modèle et les chemins déclarés en constante doivent
être adapté.
Lupin
Bonjour à nouveau LUPIN.A
Encore un grand merci pour ta préciseuse contribution.
J'ai testé le code que tu m'as transmis en metant à jour les chemins. Tout se déroule presque bien...
Je rencontre une "erreur d'execution 9 Indice en dehors de la plage", le débogage m'indique que l'erreur se trouve sur la ligne "With sheets ("Feuil1") dans la fonction LireInfoFichier.
As tu une idée sur la cause de cette erreur? Je te colle ci dessous le code avec les chemins modifiés ainsi que la ligne ou apparait l'erreur (en gras).
Une autre précision, je suis sous EXCEL 97.
J'attends de tes news et encore merci
Chris
Option Explicit
Sub Numero()
Dim intNum As Integer, strNom As String, strZero As String
intNum = LireInfoFichier
With Sheets("Feuil1")
.Range("N1").Value = intNum
End With
If (intNum < 10) Then
strZero = "00"
Else
If (intNum > 9) And (intNum < 100) Then
strZero = "0"
Else
If (intNum > 99) Then
strZero = ""
End If
End If
End If
strNom = "Fiche_" & strZero & intNum & "_" & Format(Date, "dd-mm-yyyy") & ".xls"
ActiveWorkbook.SaveAs "C:\Documents and Settings\STAGESG-ADC\Bureau\FDA SG" & "SG " & strNom
'ActiveWorkbook.SaveAs "C:\Document\Programmation\VBA\Excel\" & "SG " & strNom
End Sub
'
Function LireInfoFichier() As Integer
Const cteCheminModele = "C:\Program Files\Microsoft Office\Modèles\"
Const cteNomModele = "Modele_FDA"
Dim strCheminFichier As String
strCheminFichier = cteCheminModele & cteNomModele
Workbooks.Open FileName:=strCheminFichier, Editable:=True
With Sheets("Feuil1")
LireInfoFichier = (.Range("N1").Value + 1)
.Range("N1").Value = LireInfoFichier
End With
ActiveWorkbook.Save
ActiveWorkbook.Close
End Function
Encore un grand merci pour ta préciseuse contribution.
J'ai testé le code que tu m'as transmis en metant à jour les chemins. Tout se déroule presque bien...
Je rencontre une "erreur d'execution 9 Indice en dehors de la plage", le débogage m'indique que l'erreur se trouve sur la ligne "With sheets ("Feuil1") dans la fonction LireInfoFichier.
As tu une idée sur la cause de cette erreur? Je te colle ci dessous le code avec les chemins modifiés ainsi que la ligne ou apparait l'erreur (en gras).
Une autre précision, je suis sous EXCEL 97.
J'attends de tes news et encore merci
Chris
Option Explicit
Sub Numero()
Dim intNum As Integer, strNom As String, strZero As String
intNum = LireInfoFichier
With Sheets("Feuil1")
.Range("N1").Value = intNum
End With
If (intNum < 10) Then
strZero = "00"
Else
If (intNum > 9) And (intNum < 100) Then
strZero = "0"
Else
If (intNum > 99) Then
strZero = ""
End If
End If
End If
strNom = "Fiche_" & strZero & intNum & "_" & Format(Date, "dd-mm-yyyy") & ".xls"
ActiveWorkbook.SaveAs "C:\Documents and Settings\STAGESG-ADC\Bureau\FDA SG" & "SG " & strNom
'ActiveWorkbook.SaveAs "C:\Document\Programmation\VBA\Excel\" & "SG " & strNom
End Sub
'
Function LireInfoFichier() As Integer
Const cteCheminModele = "C:\Program Files\Microsoft Office\Modèles\"
Const cteNomModele = "Modele_FDA"
Dim strCheminFichier As String
strCheminFichier = cteCheminModele & cteNomModele
Workbooks.Open FileName:=strCheminFichier, Editable:=True
With Sheets("Feuil1")
LireInfoFichier = (.Range("N1").Value + 1)
.Range("N1").Value = LireInfoFichier
End With
ActiveWorkbook.Save
ActiveWorkbook.Close
End Function
Utilisateur anonyme
14 mai 2009 à 17:54
14 mai 2009 à 17:54
re:
Dans le fichier modèle ( XLT ), le code incrémente un compteur localisé
en cellule [ N1 ].
Donc dans ton code original, la cellule [ N1 ] est spécifié, mais pas le feuille.
Pour adresser une cellule, il est toujours souhaitable de spécifier la feuille.
With Sheets("Feuil1")
Ici, le nom de la feuille est [ Feuil1 ], donc regarde dans le fichier modèle
et remplace [ Feuil1 ] par le nom de la feuille qui détient la cellule N1 du compteur.
Il est souhaitable de cibler la feuille, car si tu enregistre le modèle en pointant
une autre feuille, c'est celle-ci qui sera active à l'ouverture.
Me suis-je fais comprendre ?
Lupin
Dans le fichier modèle ( XLT ), le code incrémente un compteur localisé
en cellule [ N1 ].
Donc dans ton code original, la cellule [ N1 ] est spécifié, mais pas le feuille.
Pour adresser une cellule, il est toujours souhaitable de spécifier la feuille.
With Sheets("Feuil1")
Ici, le nom de la feuille est [ Feuil1 ], donc regarde dans le fichier modèle
et remplace [ Feuil1 ] par le nom de la feuille qui détient la cellule N1 du compteur.
Il est souhaitable de cibler la feuille, car si tu enregistre le modèle en pointant
une autre feuille, c'est celle-ci qui sera active à l'ouverture.
Me suis-je fais comprendre ?
Lupin
Bonjour LUPIN.A
Eh bien j'ai testé ton code en suivant tes instructions et ça fonctionne parfaitement.
Mon compteur s'incrémente bien sur mon modèle et mes fichiers sont correctement sauvegardés.
Je te suis reconnaissant de ton amabilité, ta réactivité et ta patience.
Merci pour ta précieuse contribution.
Chris
Eh bien j'ai testé ton code en suivant tes instructions et ça fonctionne parfaitement.
Mon compteur s'incrémente bien sur mon modèle et mes fichiers sont correctement sauvegardés.
Je te suis reconnaissant de ton amabilité, ta réactivité et ta patience.
Merci pour ta précieuse contribution.
Chris