Incrémentation automatique d'un nom de fichier
Bonjour à tous,
malgré mes recherches sur le forum je n'ai pas pu trouvé de réponse à mon problème.
je crée un fichier excel qui servira de formulaire. je voudrais que dans une case fixe, le nom (qui est en fait un code) donné à cette fiche s'auto-incrémente en fonction des fiches précédemment crée, selon le même principe que la numérotation de factures par ex. Ainsi, j'aimerais que ces fiches soient sauvegardées avec ce même nom automatiquement dans un emplacement de mon choix dès que l'on cliquerait sur un bouton de commande.
De plus, le début du code dépend de certaines données renseignées dans le document.
je pense que ce sera plus clair avec le fichier fourni
pensez-vous qu'il existe un moyen de réaliser tout ca?
merci beaucoup à tous ceux qui prendront le temps de m'aider et à bientôt j'espère
Salut,
Dans le fichier ci-joint, à chaque fois que tu modifies le nom dans la cellule B10, la numérotation en H10 est incrémentée de 1.
Ceci se fait par l’intermédiaire de la cellule B6 dont le texte est écrit en blanc. Cette dernière information pourrait être placée à tout plein d’autres endroits.
On pourrait également déclencher cette incrémentation lors d’un autre évènement (à chaque ouverture du fichier, à chaque enregistrement, avec ou sans question préalable, etc.) ou d’une autre manière. A toi de dire ce qui ne joue pas avec cette proposition.
Cordialement.
NB : Peux-tu corriger le titre en écrire ton texte sans majuscules partout ? Si jamais relis la Charte du Forum
bonjour,
merci beaucoup d'avoir pris le temps de réfléchir à mon problème et désolée pour le titre mal orthographié, comme tu as pu le voir j'ai immédiatement corrigé.
concernant le sujet, ta proposition est très intérressante, je n'avais pas envisagé d'utiliser le champ des noms de la personne utilisant mon document pour l'incrémenter.
cependant, cette solution est trop facilement modifiable par erreur. il serait bien plus sûr d'incrémenter le fichier à chaque ouverture ET sauvegarde du document par exemple car il faudrait vraiment que les documents sauvegardés se suivent dans la numérotation.
un bouton de commande noté SAUVEGARDER par ex serait parfait.
je te remercie beaucoup pour ton aide, j'avoue que j'ai découvert vba il y a quelques jours à peine et que je suis fascinée par son utilité mais que la plus grande partie de mes connaissances se limite à copier des codes existants sur les forums et d'essayer de les comprendre afin de les adapter à mes besoins. je ne suis donc absolument pas capable de créer un code de toute pièce...
merci encore
Re,
Ce n'était bien entendu qu'un exempleAUDREY8013 a écrit :cependant, cette solution est trop facilement modifiable par erreur.
Je vois quand même plein de problèmes avec ton fichier. D’après ce que j’ai compris, différents utilisateurs peuvent l’ouvrir, le modifier, éventuellement l’enregistrer plusieurs fois sous son nom de base avant de l’enregistrer sous un autre nom et devraient pouvoir enregistrer finalement une copie modifiée avec un numéro incrémenté sous un nom bien précis.
Mais il faut que le fichier de base soit refermé d’une manière non modifiée à l’exception du numéro incrémenté, non ?
Si c’est bien ça, je te propose par exemple de trouver le moyen d’incrémenter le numéro en B6 qu’une seule fois durant l’utilisation – par exemple au moment où l’utilisateur enregistre le fichier sous un nouveau nom – et que toutes les modifications apportées au fichier de base – même si elles ont été enregistrées plusieurs fois avant que le fichier ne soit enregistré sous son nouveau nom – soient effacées avant que ce fichier de base ne soit refermé (à l’exception bien entendu de l’incrémentation).
Est-ce que ça te paraît une bonne idée ? Si c’est très compliqué d’effacer toutes les modifications possibles avant de refermer le fichier de base, on pourrait imaginer d’avoir une feuille modèle telle que celle que tu présentes maintenant qui serait masquée et qui remplacerait la feuille modifiée par l’utilisateur au dernier moment avant que le fichier soit refermé (mais avec l’incrémentation désirée).
Merci de me dire ce que tu en penses.
Amicalement.
salut
merci beaucoup pour ton aide surtout que je comprends maintenant que ce n'est pas un problème solutionnable facilement
Je te prie de me pardonner si je n'ai pas tout compris dans ton dernier post, voila quelques précisions
tu as rasion sur plusieurs points:
In fine ce document sera une fiche déclarative de non conformités en gestion de la qualité, mise en partage ou en ligne sur un serveur, je voudrais qu'il soit remplissable par tous et que chaque fois qu'une fiche est sauvée (avec un bouton et pas avec "fichier/enregistrer sous"), pas uniquement chaque fois que quelqu'un l'ouvre, le nom du document sauvé s'incrémente automatiquement. Mais il ne faut pas que le fichier d'origine vierge (pourquoi pas un modèle comme tu le proposes où les données seraient effacées) soit modifié, pour cela comme tu le verra plus loin, je pensais faire en sorte que chaque sauvegarde se fasse automatiquement dans un dossier différent que celui qui contient le fichier d'origine
Mais il y a une première contrainte :
en B13 il s'agit du processus concerné par l'anomalie, le domaine si tu préfères et en C13 le sous domaine, il y aura à terme 14 domaines différents à choisir dans la cellule B13 et pour chacun plusieurs sous domaines à choisir en C13
mon souci supplémentaire est que je voudrais que le nom de fichier comporte les 5 premiers caractères de la cellule C13. cette cellule sera à terme une liste de choix donc ces 5 caractères pourront varier et je voudrais que les fichiers enregistrés s'incrémente de façon suivie selon le nom
je m'explique:
- une première fiche est crée et porte sur le sous-domaine (donnée en C13) PO1-3, elle portera donc le nom: PO1-3-Ecart-1
- une deuxième personne creé une fiche qui porte sur le sous-domaine PO2-1, elle doit porter le nom PO2-1-Ecart-1 car c'est la première fiche de ce sous-domaine
et il y a une deuxième contrainte:
je voudrais que le fichier s'enregistre pour chacun dans un dossier différent automatiquement en fonction du choix fait dans B13, je pourrais créée par exemple autant de dossier que de domaine à choisir en B13 et préciser le chemin pour chacun dans vba
et ce n'est que le début de mes demandes, mais je vais te laisser respirer un peu et un problème (ou 2... ) à la fois
j'espère avoir pu t'éclairer dans la voie de la solution et merci très très sincèrement pour ton aide
Re,
Ta demande se complique passablement – et il semble que ce n’est de loin pas fini - et ça ne ressemble plus trop à ta question initiale. Je pense que je pourrais t’aider encore un bon bout, mais ces jours, je suis sur d’autres projets privés et professionnels et n’ai pas trop de temps à te consacrer.
Je vais donc t’abandonner, te conseille d’indiquer ce fil comme « Résolu » - vu que peu de membres s’intéressent encore à un fil bien entamé - et d’en recommencer un autre.
Mais je te conseille également de mieux préparer ton fichier de base et tes explications. Tu devrais par exemple préparer une liste – sur une feuille séparée ? - de tes processus et de tes sous-processus et d’indiquer immédiatement dans ta demande que la numérotation doit être incrémentée par processus (utilise si possible toujours le même mot que celui qui est dans ton fichier).
Encore désolé de te laisser tomber.
Amicalement.
il est vrai que ma demande est complexe mais elle est la même depuis le début concernant la première contrainte comme je l'ai appelée dans mon premier post, elle se complique avec la deuxième...
désolée pour le temps perdu
ben merci quand même....
salut
Salut,
Ta demande est peut-être toujours la même à la base, mais elle grandit à chaque nouveau message. Il s’agissait tout d’abord d’incrémenter un chiffre sur un document et maintenant il faut incrémenter un chiffre selon plusieurs processus et enregistrer dans des fichiers différents et imposés (alors qu’au début tu avais dit « dans un fichier de mon choix »).
Si tu es désolée pour le temps que j’ai perdu, ne te fais absolument pas de soucis, je m’étais engagé à t’en offrir et je ne regrette rien.
Si tu es désolée pour le temps que je t’ai fait perdre, je te trouve un peu injuste. Avec les conseils que je te donne, tu pourras présenter ton problème d’une manière beaucoup plus valable et plein de membres seront intéressés de t’aider.
De plus je pense t’avoir donné une ou deux idées utilisables qui pourront très certainement te servir. Rien n’est jamais vraiment perdu.
Au plaisir de t’aider à nouveau plus tard.
Cordialement.
en effet, je parlais du temps qui Tu aurais pu perdre, mais je me vois rassurée
non moi je n'en ai perdu aucun au contraire, il a été riche d'apprentsisage, je confirme donc ton dernier paragraphe du dernier post
merci encore