A voir également:
- Macro Excel : incrémenter des numéros
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si et excel - Guide
- Déplacer une colonne excel - Guide
3 réponses
Armojax
Messages postés
1860
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
2 octobre 2024
1 528
9 oct. 2005 à 21:17
9 oct. 2005 à 21:17
Bonsoir flobat,
Bizarre, ton truc. Peut-être testes-tu ta macro sans faire de modif dans ton classeur avant de le fermer ? Auquel cas, le classeur se ferme sans sauver quoi que ce soit.
Utiliser BeforeSave n'est pas forcément judicieux : si tu enregistres de temps à autre ton travail en cours, tu vas à chaque fois incrémenter ton compteur. A toi de voir. Mais BeforeClose est peut-être plus adapté (tout dépend de ton contexte).
Bizarre, ton truc. Peut-être testes-tu ta macro sans faire de modif dans ton classeur avant de le fermer ? Auquel cas, le classeur se ferme sans sauver quoi que ce soit.
Utiliser BeforeSave n'est pas forcément judicieux : si tu enregistres de temps à autre ton travail en cours, tu vas à chaque fois incrémenter ton compteur. A toi de voir. Mais BeforeClose est peut-être plus adapté (tout dépend de ton contexte).
Bonjour,
As-tu vérifié si tu n'as pas une macro auto_open qui remet la valeur de ta cellule no_facture à 1 ?
Cordialement
Sergio
As-tu vérifié si tu n'as pas une macro auto_open qui remet la valeur de ta cellule no_facture à 1 ?
Cordialement
Sergio
Re-bonjour,
Tu peux rechercher dans l'éditeur VBA avec la fonction recherche.
Sinon pour savoir si le problème vient de là, ouvre ton fichier en appuyant sur la touche "Shift" du clavier. Quand on fait ça et qu'il existe une macro auto_open, celle-ci n'est pas exécutée à l'ouverture du fichier.
Si en ouvrant ton fichier de cette façon, tu ne retrouve toujours pas le dernier numéro avant enregistrement, c'est que le problème ne vient pas d'une macro auto_open.
Cordialement
Sergio
Tu peux rechercher dans l'éditeur VBA avec la fonction recherche.
Sinon pour savoir si le problème vient de là, ouvre ton fichier en appuyant sur la touche "Shift" du clavier. Quand on fait ça et qu'il existe une macro auto_open, celle-ci n'est pas exécutée à l'ouverture du fichier.
Si en ouvrant ton fichier de cette façon, tu ne retrouve toujours pas le dernier numéro avant enregistrement, c'est que le problème ne vient pas d'une macro auto_open.
Cordialement
Sergio
Sergio,
Merci pour ton aide. En effet, lorsque j'ouvre mon document en appuyant sur la touche "shift", celui-ci s'ouvre au dernier numéro enregistré. Donc le problème vient bien d'une macro auto_open.
Par contre, je ne la trouve pas, j'ai essayé la fonction Recherche dans VBA, mot inconnu. Est-ce normal ?
Merci encore.
Flobat
Merci pour ton aide. En effet, lorsque j'ouvre mon document en appuyant sur la touche "shift", celui-ci s'ouvre au dernier numéro enregistré. Donc le problème vient bien d'une macro auto_open.
Par contre, je ne la trouve pas, j'ai essayé la fonction Recherche dans VBA, mot inconnu. Est-ce normal ?
Merci encore.
Flobat
random
Messages postés
1612
Date d'inscription
vendredi 26 novembre 2004
Statut
Membre
Dernière intervention
30 mars 2006
155
10 oct. 2005 à 11:50
10 oct. 2005 à 11:50
si tu choisissais ton numéro avec la formule
suivante max(ici tous les numéros de facture)
ref par exemple a$1:a200
tu arriverais à la même chose
suivante max(ici tous les numéros de facture)
ref par exemple a$1:a200
tu arriverais à la même chose
10 oct. 2005 à 11:29
et merci pour ta réponse. Mon classeur est toujours modifié lorsque je l'enregistre, et il passe à l'ancien numéro + 1.
Utiliser la formule BeforeClose te paraît plus judicieux, mais plus laborieuse pour moi parce que mon but est de laisser mon document ouvert la journée et de l'enregistrer à chaque modification.
Par contre, je ne comprend toujours pas pourquoi le numéro revient à 1 lorsque j'éteins l'ordinateur et que je le rallume le lendemain.
Merci et A+
19 oct. 2005 à 22:44
Je crois que je t'ai répondu un peu trop vite en te disant que la macro BeforeClose ne me convenait pas. Finalement, je voudrais l'essayer, mais j'ai un problème.
Je ne connais pas trop les macros, et, en remplaçant Save par Close, la macro n'est pas acceptée.
Peux-tu m'aider et me donner la formule ?
Merci.
20 oct. 2005 à 13:46
Excuse-moi, je vois seulement maintenant ton message.
Pour activer Before_Close :
- Va dans VBA
- Dans l'Explorateur de Projets, double-clique sur ThisWorkbook La partie droite qui s'affiche est surmontée de deux boites à listes : Général et Déclarations
- Dans Général, clique sur Workbook, puis...
- Dans Déclarations clique sur Before_Close
Et là tu mets le contenu de ta macro.
20 oct. 2005 à 22:03
Je te remercie pour ton aide, j'ai trouvé la macro BeforeClose et je l'ai testée. Elle fonctionne très bien avec Fichier Enregistrer, mais lorsque j'utilise Fichier Enregistrer Sous, mon numéro s'incrémente après fermeture du fichier, mais pas à la réouverture de mon modèle. Je comprend la procédure puisque le modèle lui-même n'est pas enregistré (je lui donne un autre nom).
Peut-être existe-t-il une autre macro qui puisse me permettre d'utiliser Fichier Enregistrer Sous tout en incrémentant mes numéros ?
Merci de me donner ton avis.
21 oct. 2005 à 11:17
Le plus simple (?) me semble de stocker à part le numéro de facture.
Dans l'exemple ci-dessous, j'utilise un petit classeur IncrémentFacture dans lequel je stocke, à la fermeture du classeur, le numéro de facture incrémenté.
Ensuite, à l'ouverture, on va y chercher le numéro en question.
De cette façon, quel que soit le fichier qu'on ouvre (le modèle ou bien un enregistrement sous...), on obtient toujours le bon numéro.
Le code n'est pas condensé. On peut simplifier en donnant des noms, etc.
Si quelqu'un a mieux, je suis preneur.