Avant toute chose je vous donne les données pour ouvrir le fichier Excel en lien
Le nom d’utilisateur david le mot de passe mdp pour afficher la feuille masquée code anass
Voici le lien
Cijoint.fr - Service gratuit de dépôt de fichiers
Donc voici ce que je désirerais faire :
J’ai différent menu en USERFORM qui ouvre exemple Ajouter bon de commande, Ajouter unités, Ajouter fournisseurs, Ajouter articles, dans c’est USERFORM j’ai des listes déroulantes ou je souhaite mettre la molette de la sourie.
Je ne connais pas le VB donc est ce que quelqu’un pourrais m’aider svp.
J’ai trouvé un exemple sur internet sur la molette de la sourie,
je joins le fichier modèle pour le mettre en forme.
Oui je confirme mon choix car par exemple si je veux après quelque mois, ou même dans mon cas une année scolaire qui serais encore mieux refaire un nouveau classeur il me suffira de renommé mon classeur de sauvegarde et il en refera un nouveau l'année suivante, vu qu'il y aura plus de classeur avec le nom de sauvegarde.
Mais c'est plus facile pour moi de n'avoir que mes bon de commande séparer ensemble dans un même classeur que de le stocké des années sur ma base ou je bosse.
Donc apparemment sa serais réalisable si je comprends bien, mais par contre seul impératif le sauvegarder seulement après impression du bon, donc je pence que la commande partira de Userform8 imprimer bon de commande,
Car la sa sera ma base pour s'avoir quel bon il me reste à imprimer, si je le vois toujours dans Userform8. Si je l'ais vois plus c'est que le bon est imprimer et sauvegardé.
Merci a vous deux, et oui je sais je ne suis pas évident a comprendre job75 je te remercie et m'excuse de mal m'exprimé.
Je vois qu'on a toujours du mal à se comprendre David...
Relis bien, et lentement, mon post précédent.
Mon avis est qu'il suffit de faire, à chaque fois qu'on enregistre, la sauvegarde de tout le classeur. Il n'est donc pas nécessaire de faire un transfert de feuille !!! Ni d'en supprimer !!!
Comme quoi dans 3 têtes il y a 3 idées.
Job : je ne partage pas entièrement ton point de vue :
- 1ère impression du 1er bon de commande puis sauvegarde intégrale et suppression du bon imprimé dans le logiciel.
- 2 ème impression même scénario. Hors la nouvelle sauvegarde va remplacer l'ancienne qui ne comprend donc plus le bon de commande objet de la 1ère impression.
Ce que j'avais compris, hors le fait de la sauvegarde du programme qui peut être faite indépendamment, c'est que le fichier sauvegarde bon de commande ne comporterait que les onglets objets des différents bons imprimés.
Si donc on maintient tous les bons de commande, il faut en effet savoir ceux qui ont déjà été imprimés et ceux qui ne le sont pas.
Pour cela on peut par exemple mettre le signe # devant le nom de l'onglet créé, signe que l'on enlèvera une fois le bon imprimé. C'est facile à réaliser.
bas en faite ce qu'il faudrait c'est une sauvegarde de donné donc feuille " Acceuil, base, groupement d'achat, liste articles par fournisseur, commande" et une autre sauvegarde des divers bon de commande imprimé.
mais la je parle de ma façon de voir les choses, mais pour avoir un visuel général de mes onglets pour les bon de commandes imprimer j'imagine pas 1000 onglets qui reste dans mon classeur,
même si on peu en sauvegarder 1000 avec bonne mémoire , dans Userform8 vous imaginez une liste déroulante avec 1000 bon a choisir pour ensuite les imprimer.
sa risque déja de faire bordélique au bout de 100 bon de commande.
Aprés la sauvegarde par macro quelles soit général ou partiel pour les bon imprimer, je vous fais confiance a tous les deux,
sois ajouter ComboBOX dans Userform5 sauvegardais base de donné, qui serais a part des bon de commande vu qu'il serait sauvé, aprés l'impression.
Si donc on maintient tous les bons de commande, il faut en effet savoir ceux qui ont déjà été imprimés et ceux qui ne le sont pas.
Pour cela on peut par exemple mettre le signe # devant le nom de l'onglet créé, signe que l'on enlèvera une fois le bon imprimé. C'est facile à réaliser.
Bas écoute job75 je suis ok pour le signe # mais comme j'ai marqué avant 1000 onglet dans Userform8 avec la liste déroulante, je passerais plus de temp a rechercher un bon de commande par la suite que s'ils sont sauvegardé et suppirmé a la suite.
en faite peu importe la facon dont elles sont sauvegardé mais je voudrais qu'elle n'y sois plus aprés son impression.
pour ma part je bosse demain de 7h30 et rentre du boulot demain soir vers 21h, donc je te souhaite une bonne nuit PIEDEPLOMB33 et te dit a demain soir.
Un imprévu m'a empêché de travailler ce matin comme indiqué dans mon précédent post, d'où l'envoi que maintenant, et qui risque de me gêner pour être sur le forum ce soir. On verra bien.
Cijoint.fr - Service gratuit de dépôt de fichiers
Voici un premier projet, dites moi tous les deux si cela peut convenir.
Si je ne peux pas être sur le forum ce soir, demain j'y serais et lirais vos remarques
Le fichier de sauvegarde se crée bien, mais la suppression des 5 feuilles (???) et la copie du bon de commande se passent mal.
Tout se passe à ce niveau :
Code:
Workbooks(NomFichier1).Sheets(NomFeuille).Copy After:=Workbooks(NomFichier2).Sheets(i)
Next i
Workbooks(NomFichier1).Sheets(ComboBox1.Value).Copy After:=Workbooks(NomFichier2).Sheets(i)
La 1ère ligne doit d'évidence être supprimée car elle recrée les feuilles qui viennent d'être supprimées... En fait la boucle For i ne sert à rien puisque le fichier est vierge au départ...
Pour la 3ème ligne, je ne comprends pas que tu utilises i (qui a ici la valeur 6...).
Le 1er bon de commande se sauvegarde bien, mais quand on en sauvegarde un 2ème, le 1er est supprimé.
J'ai essayé en remplaçant i par un Sheets.Count, mais le 1er bon se supprime encore...
Je te laisse revoir le code et chercher.
A+
Edition : dans l'histoire de la molette, on avait parlé d'un UserForms(0). Tu n'as pas utilisé cette solution, pourquoi ?
La suppression des 5 feuilles est obligatoire. Certes elle ne sert à rien lorsque le fichier est vierge, mais si on ne supprime pas, lors d'une prochaine sauvegarde les onglets seront doublés. Ex "Accueil(2)".
Je n'ai fait les test que pour un bon de commande et le code marchait. Je vais approfondir, mais je ne garantis rien pour ce soir comme je l'ai expliqué dans mon précédent post.
Quant aux USERFORM(0) je n'ai pas cherché, je n'ai pas eu le temps.