Vb6... différencier chaque offre (jusqu'a 10 offres possibles!)

kobejul08 Messages postés 113 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 3 octobre 2005 - 26 juil. 2005 à 17:00
kobejul08 Messages postés 113 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 3 octobre 2005 - 27 juil. 2005 à 16:29
Bonjour voilà,

je veux sauvegarder un fichier excel offre mais je veux que quand le fichier existe déjà qu'il augmente simplement de 1 ..

nomASauver = Year(Now) & "-" & Month(Now) & "-" & Day(Now)
nomASauver = nomASauver & CurCompany & "-" & num


nomASauver = "C:\ACE\offre" & nomASauver & ".xls"

monxl.ActiveWorkbook.SaveAs nomASauver

monxl.ActiveWorkbook.Save

voilà actuellement comment c'est et j'aimerais qu'il ait plusieurs offres possible pour la meme personne ou compagnie! pour l'instant c'est la date la compagnie puis-0 et j'aimerais que si il y en a plusieurs que ça augmante jusque 9 max

Qq un voit comment faire?
Merci

2 réponses

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
26 juil. 2005 à 20:29
Salut
Il suffit de tester si le fichier composé du n° existe.
Si oui, incrémente ton numéro et recommence jusqu'à ce que tu ne le trouves pas :

' Ce qui ne change pas
nomASauver = "C:\ACE\offre" & _
Year(Now) & "-" & Month(Now) & "-" & Day(Now) & _
CurCompany & "-"
num = 0 ' Initialise le premier numéro à utiliser
Do While Dir(nomASauver & CStr(num) & ".xls") <> ""
' On en a trouvé un : Incrémente le n°
num = num + 1
DoEvents
Loop
' Ok, le dernier n° pas trouvé --> Ce sera notre n°
nomASauver = nomASauver & CStr(num) & ".xls"

Si tu veux que le format du n° ait toujours 2 ou 3 digits, remplace les CStr(num) par des Format(num, "000")
Avantage : Si le n° dépasse 9, les fichiers seront réellement classés dans l'ordre (dans ton explorateur de fichiers), sinon, il risque de classer le fichier 2 avant le 20

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
(je
0
kobejul08 Messages postés 113 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 3 octobre 2005
27 juil. 2005 à 16:29
Salut,

d'abord merci d'avoir répondu et de deux , je voulais préciser qu'il y a toujours un problème ... il e demande si mon répertoire est bon et si j'utilise pas des mauvais caracyères peux tu m'éclairer?

nomASauver = Year(Now) & "-" & Month(Now) & "-" & Day(Now)
nomASauver = nomASauver & CurCompany & "-" & num


nomASauver = "C:\ACE\offre" & nomASauver & ".xls"


num = 0 ' Initialise le premier numéro à utiliser
Do While Dir(nomASauver & CStr(num) & ".xls") <> ""
' On en a trouvé un : Incrémente le n°
num = num + 1
DoEvents
Loop
' Ok, le dernier n° pas trouvé --> Ce sera notre n°
nomASauver = "C:\ACE\offre" & nomASauver & CStr(num) & ".xls"

monxl.ActiveWorkbook.SaveAs nomASauver

monxl.ActiveWorkbook.Save
End If

Il s'arrete sur monxl.ActiveWorkbook.SaveAs nomASauver

Merci d'avance
0