Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/05/2006, 09h48   #1
Membre habitué
 
Inscription : juillet 2005
Messages : 289
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 289
Points : 108
Points : 108
Envoyer un message via MSN à mulanzia2003 Envoyer un message via Yahoo à mulanzia2003
Par défaut [VBA-W] Numérotation automatique

Bonjour,
Je souhaite créer une numérotation automatique de mon document.
J'ai créé un document de référence (modèle) intitulé CdC_0000.dot
Ce document à sur sa première page en titre (non pas en entête), référence du document : " Mois_Année_numéro chronologique".

Je souhaiterai qu'à l'ouverture de ce document il me génére un numéro d'ordre automatique sur la base Mois_Année_numéro chronologique.
Par exemple :
- lors de l'ouverture du document en Avril 2006 : il affiche 04_2006_0001 sur le numéro du document. et qu'il se nomme 04_2006_0001.doc lors de l'enregistrement.

Quelqu'un a t-il la possibilité de m'aider ??? est-ce possible???
Merci de m'aider en me disant comment et le code (l'un et/OU l'autre)
Merci d'avance.

N'hésitez pas à me demander des renseignements si ils ne sont pas assez précis
mulanzia2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2006, 07h05   #2
Membre habitué
 
Inscription : juillet 2005
Messages : 289
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 289
Points : 108
Points : 108
Envoyer un message via MSN à mulanzia2003 Envoyer un message via Yahoo à mulanzia2003
toujours pas d'idée, je ne suis peut être pas clair !!!
AIDEZ moi !!!
mulanzia2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2006, 07h33   #3
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 854
Points : 16 854
Envoyer un message via Skype™ à bbil
Ben déjà pour la définition du nouveau nom ... à quoi pense-tu,
  • Mémorisation sur ta machine .. du dernier numéro de document créé (date + rang) ? (dans le cas ou les documents ne sont créé que sur une machine), puis utilisation de ce numéro + 1 (avec remise à 1 sur changement de mois) pour nouveau numéro... stockage par exemple dans base de registre ou fichier .ini.....
  • Parcours de la liste des fichiers existant afin de déterminer le numéro de document à créer..
bon voilà une fois qu'on aura défini comment "calculer" le numéro de document on regardera comment utiliser le nom trouver pour le nommer...
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2006, 14h18   #4
Membre habitué
 
Inscription : juillet 2005
Messages : 289
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 289
Points : 108
Points : 108
Envoyer un message via MSN à mulanzia2003 Envoyer un message via Yahoo à mulanzia2003
Cher BBIL,
Je souhaiterai utiliser toujours le même document lors de l'ouverture, le masque qui est vierge. (Cela, je sais le faire).
Ma question concerne l'enregistrement sous la forme : "Date du jour + N° d'ordre". Pour le définir, je préférerai lire les données dans le répertoire de destination C:\rapport audit\Archives\ .
Merci. !!!
mulanzia2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2006, 14h54   #5
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Pendant que bbil est en train de te concocter une réponse aux petits oignons, je te fais part d'une astuce consistant à mémoriser le N° du document en cours "quelque part" où tu n'as rien à mettre, de lui affecter un signet et de le peindre en blanc
Ça peut être dans l'entête, dans le pied de page ou là où tu veux...
Tu le lis, l'incrémente, replace le n° incrémenté sur le signet. Attention, pour faire ça, le signet peut disparaître au moment de l'écriture du nouveau N° et il faut le recréer.

Tu dis

A+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2006, 15h39   #6
Membre habitué
 
Inscription : juillet 2005
Messages : 289
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 289
Points : 108
Points : 108
Envoyer un message via MSN à mulanzia2003 Envoyer un message via Yahoo à mulanzia2003
As tu un exemple à me fournir OUSKEL'NOR, je suis nul sous Word. Un petit fichier joint m'interresserai.
Sinon c'est sympa. merci.
J'ai bien compris ton astuce. Je vais essayer quand même avec mes moyens.
mulanzia2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2006, 10h14   #7
Membre habitué
 
Inscription : juillet 2005
Messages : 289
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 289
Points : 108
Points : 108
Envoyer un message via MSN à mulanzia2003 Envoyer un message via Yahoo à mulanzia2003
Personne n'a une idée !!!
mulanzia2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2006, 12h42   #8
Modérateur
 
Avatar de AlainTech
 
Homme Alain Gerard
Consultant informatique
Inscription : mai 2005
Messages : 3 675
Détails du profil
Informations personnelles :
Nom : Homme Alain Gerard
Âge : 58
Localisation : Belgique

Informations professionnelles :
Activité : Consultant informatique
Secteur : Finance

Informations forums :
Inscription : mai 2005
Messages : 3 675
Points : 7 645
Points : 7 645
Citation:
Envoyé par mulanzia2003
Je vais essayer quand même avec mes moyens.
Quel est le résultat de ces essais???
__________________
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
Pensez aussi à voter pour les réponses qui vous ont aidés.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
AlainTech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2006, 14h01   #9
Membre habitué
 
Inscription : juillet 2005
Messages : 289
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 289
Points : 108
Points : 108
Envoyer un message via MSN à mulanzia2003 Envoyer un message via Yahoo à mulanzia2003
Ben sa marche pas.
Je cloture cette topique que je relancerai + tard
Désolé mais je ne savais pas que l'on devait ouvrir peu de topic
(3 en cours en ce moment)
mulanzia2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2006, 14h46   #10
Membre habitué
 
Inscription : juillet 2005
Messages : 289
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 289
Points : 108
Points : 108
Envoyer un message via MSN à mulanzia2003 Envoyer un message via Yahoo à mulanzia2003
J'aimerai bien qu'OUSKEL'N'OR ou BBIL me fassiez suivre un fichier joint ou cela fonctionne si vous avez.
mulanzia2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2006, 14h53   #11
Inactif
 
Avatar de jmfmarques
 
Inscription : décembre 2005
Messages : 3 784
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 3 784
Points : 4 125
Points : 4 125
Ils le feront peut-etre quand tu auras commencé à montrer le code que tu as écrit (ou commencé à écrire)...
jmfmarques est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2006, 14h59   #12
Modérateur
 
Avatar de AlainTech
 
Homme Alain Gerard
Consultant informatique
Inscription : mai 2005
Messages : 3 675
Détails du profil
Informations personnelles :
Nom : Homme Alain Gerard
Âge : 58
Localisation : Belgique

Informations professionnelles :
Activité : Consultant informatique
Secteur : Finance

Informations forums :
Inscription : mai 2005
Messages : 3 675
Points : 7 645
Points : 7 645
Faudrait voir à rester cohérent...

Hier à 10h14: "Personne n'a une idée !!! "

Je réponds à 12h42: "Quel est le résultat de ces essais???"

Et aujourd'hui tu dis "Je cloture"

C'est ma question qui te dérange???
__________________
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
Pensez aussi à voter pour les réponses qui vous ont aidés.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
AlainTech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2006, 15h07   #13
Membre habitué
 
Inscription : juillet 2005
Messages : 289
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 289
Points : 108
Points : 108
Envoyer un message via MSN à mulanzia2003 Envoyer un message via Yahoo à mulanzia2003
non ce n'est pas la question mais le fait que dans un de mes post dernièrement tu as dit que j'avais trop de post en cours c'est tout.

Pour ce qui est de mon code, je n'ai rien d'écrit.
J'essaie d'abord de mettre le numéro dans un signet comme le dit Ouskel'n'or.
En plus, je n'ai vraiment aucune idée de ce que je vais mettre comme code pour le moment. Sinon je le mettrai et je dirai ce qu'il ne marche pas.

Je reste au contact !!!!
mulanzia2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2006, 15h35   #14
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Bon, j'ai eu un moment pour me pencher sur ton intéressant problème (pas évident pour moi, je comprends que ce soit un casse-tête pour toi)
1 - Ton "modèle ne doit pas être un .dot mais un .doc (document normal)
2 - En première ligne (si j'ai bien compris) tu mets 05_2006_0000 ou
05_2006_0000.doc (pas d'importance)
La date n'a pas d'importance non plus pour la routine que je te propose
3 - Dans l'éditeur basic, dans ThisDocument (deux clics ouvrent la fenêtre de code) tu colles le code ci-après

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
Private Sub Document_Open()
Dim NouvelleRéférence, NomFich, Chemin 
Chemin = "C:\Mes Documents\" 
 
    'Se placer en début de doc
    Selection.HomeKey Unit:=wdLine
 
    'Sélection jusqu'en fin de ligne    
    Selection.EndKey Unit:=wdStory, Extend:=wdExtend 
 
    'Retrait de vbcr qui se trouve en fin de ligne pour avoir l'ancienne réf.
    Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
 
    'Constitution de la nouvelle référence en incrémentant le N°
    NouvelleRéférence = Format(Month(Now), "00") + "_" + CStr(Year(Now)) + "_" + Format(Val(Mid(Selection, 9, 4) + 1), "0000")
 
    'Remplacement de l'ancienne ref. par la nouvelle incrémentée
    Selection.TypeText NouvelleRéférence
 
    'sauvegarde du modèle avec la nouvelle référence
    ActiveDocument.Save
 
    'Constitution du nom du nouveau fichier
    NomFich = NouvelleRéférence + ".doc"
    'Sauvegarde du nouveau fichier sous son nouveau nom
    ActiveDocument.SaveAs Chemin + NomFich
End Sub
Tu dois simplement définir le dossier dans lequel tu dois sauvegarder le nouveau fichier en espérant que ce soit toujours le même sinon... c'est foutu !

A+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2006, 15h40   #15
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Je complète mon message précédent.
Chaque fois que tu ouvriras ce document,
- il incrémentera le N° de réf (en plus de la mise à jour de la date)
- enregistrera ce document avec le nouveau numéro incrémenté
- enregistrera de nouveau le document sous un nouveau nom au format voulu "mm_aaaa_0000.doc"
Pour repartir de 0, il te suffit de remettre la référence du modèle à 0000

Si tu as un pb, tu dis

A+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2006, 15h12   #16
Membre habitué
 
Inscription : juillet 2005
Messages : 289
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 289
Points : 108
Points : 108
Envoyer un message via MSN à mulanzia2003 Envoyer un message via Yahoo à mulanzia2003
merci OUSKEL'N'OR. Je teste ton code et je te répond sur ce post.
Merci quand même.
mulanzia2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2006, 15h50   #17
Membre habitué
 
Inscription : juillet 2005
Messages : 289
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 289
Points : 108
Points : 108
Envoyer un message via MSN à mulanzia2003 Envoyer un message via Yahoo à mulanzia2003
Merci OUSKEL'N'OR ton code fonctionne bien jusqu'à la dernière ligne et là VBA me renvoie une erreur :
Erreur d'execution '5152' :
Nom de fichier non valider
Essayer les opérations suivantes :
* Vérifier votre saisie
* Sélectionner un fichier dans la liste des dossiers et fichiers

J'ai essayer de lui mettre un autre chemin : "C:\TRAVAIL\" + NomFich , cela ne marche pas, j'ai remplacer aussi le + par & , ne fonctionne pas non plus

Je continue à chercher !!!
mulanzia2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 10h42   #18
Membre habitué
 
Inscription : juillet 2005
Messages : 289
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 289
Points : 108
Points : 108
Envoyer un message via MSN à mulanzia2003 Envoyer un message via Yahoo à mulanzia2003
Voilà mon problème est toujours d'actualité !!!
Le problème se passe lors de l'enregistrement du nouveau document sous la référence voulu soit mm_aaaa_0001.
Mais je ne désepère pas de trouver ou que qqn m'aide comme OUSKEL'N'OR ou BBIL.
mulanzia2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 10h58   #19
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Oui, mon code ne fonctionne pas toujours (je précise quand même que chez moi il fonctionne)
Remplace
Citation:
ActiveDocument.SaveAs Chemin + NomFich
par
Code :
1
2
3
 
    msgbox Chemin+NomFich ' juste pour voir si ton chemin est bon, tu l'enlèveras après 
    ActiveDocument.SaveAs filename:=Chemin + NomFich
Tu dis

A+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2006, 12h13   #20
Membre habitué
 
Inscription : juillet 2005
Messages : 289
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 289
Points : 108
Points : 108
Envoyer un message via MSN à mulanzia2003 Envoyer un message via Yahoo à mulanzia2003
Ben c'est toujours pareil malgré qu'il affiche dans le Msgbox le bon chemin
mulanzia2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h10.


 
 
 
 
Partenaires

Hébergement Web