Renommer des classeurs ?

Venturi

XLDnaute Nouveau
Bonsoir à toutes et à tous,

J'ai un tableau vide excel ("7251.xls") que j'utilise pour des saisies.
A chaque fois que je l'ouvre, un numéro d'ordre s'incrémente, numéro qui devient la nouvelle identité du tableau quand je le sauvegarde (exemple : 17.xls).
Jusque là, ça marche...mais du coup, si j'ouvre à nouveau un tableau déjà réidentifié, il change encore de nom, et là ça ne me va plus.
En résumé, lorsqu'un tableau a été documenté, il doit garder son identité.

Voilà la procédure que j'ai pondu dans ThisWorkbook avec la partie If...then qui ne fonctionne pas
(en même temps il y a une ligne qui affiche l'heure)

Private Sub Workbook_Open()
'Affichage de l'heure courante
Application.OnTime Now + TimeValue("00:00:01"), "Horloge"
'Numérotation des classeurs dans la cellule AM5
If ActiveWorkbookName = ("7251.xls") Then
Worksheets(1).[AM5].Value = Worksheets(1).[AM5].Value + 1
End If
End Sub

Pour info, je suis pire que novice en VB et je découvre tout en fouillant sur internet et en essayant, mais bon, ça ne solutionne pas tout... quoique !

Merci beaucoup pour votre aide précieuse
 

Venturi

XLDnaute Nouveau
Re : Renommer des classeurs ?

Bonsoir kjin,

C'est pas plus simple d'arriver à mettre au point la condition (If then) dans le fichier de base (7251.xls)??
A moins d'y mettre un automatisme (et là j'applaudis à deux mains, même à trois si je pouvais), dans mon application, on ne peut pas se permettre de bricoler le code de fichier à chaque fois qu'on en ouvre un !

Merci
 

kjin

XLDnaute Barbatruc
Re : Renommer des classeurs ?

Re,
Si tu penses que ça résoud le pb, alors
Code:
Private Sub Workbook_Open()
'Affichage de l'heure courante
Application.OnTime Now + TimeValue("00:00:01"), "Horloge"
'Numérotation des classeurs dans la cellule AM5
If [COLOR="Red"]ActiveWorkbook.Name[/COLOR] = "7251.xls" Then
Worksheets(1).[AM5] = Worksheets(1).[AM5] + 1
End If
End Sub
A+
kjin
 

vbacrumble

XLDnaute Accro
Re : Renommer des classeurs ?

Re à tous


Une autre piste (que celle d'un xlt ) à explorer peut être ?
Code:
'dans this worbook
Private Sub Workbook_Open()
Dim NbOrdre As Integer
On Error Resume Next
Err.Clear
NbOrdre = _
    CustomDocumentProperties("Numero_Ordre").Value
If Err.Number <> 0 Then ThisWorkbook.CustomDocumentProperties.Add "Numero_Ordre", False, msoPropertyTypeNumber, 1
ThisWorkbook.CustomDocumentProperties("Numero_Ordre").Value = (NbOrdre + 1)
Application.Calculate
End Sub

'dans un module
Code:
Option Explicit
Private Function AfficheCDP(chaine$) As Variant
Application.Volatile
AfficheCDP = _
            ThisWorkbook.CustomDocumentProperties(chaine).Value
End Function

dans la cellule AM5 (facultatif)
=AfficheCDP("Numero_Ordre")

ensuite on se sert de Numero_Ordre (ou du contenu de AM5) pour créer le nom du classeur incrémenté.
 

James007

XLDnaute Barbatruc
Re : Renommer des classeurs ?

Bonjour,

Tu connais ton application ...bien mieux que nous ...
Perso, j'essayerai de trouver une différence réelle entre mon fichier source et le tableau déjà réidentifié ...

Et c'est sur cette différence que tu devrais faire le test d'identification ...
cela peut être le nom,la date, même une cellule drapeau que tu ajoutes volontairement dans un coin , etc ...

A +
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 802
Messages
2 092 249
Membres
105 316
dernier inscrit
cyrille225