je viens de m'inscrire au forum, je bloquais sur des points dans excel (2003) en cherchant sur google je suis arrivée ici et en parcourant les posts, j'ai constaté que je pouvais automatiser plein de choses que je faisais manuellement. Je commence à avoir des idées , j'espère que vous me mettrez sur la bonne voie :
bon voilà, je gére une petite société familiale, j'utilise Excel pour facturation.
j'explique : j'ai fais des modéles (feuilles) dans un classeur et j'aimerai :
quand j'ouvre le classeur et je saisis une facture je puisse enregistrer seulement la feuille dans un nouveau classeur qui ne contient que la dite feuillle et portant le nom de la valeur que contient la cellule A5- si je fais "engistrer sous- j'enregistre tout le classeur et c'est ce que je veux pas.
je veux archiver mes factures pour y acceder en cas de besoin pour modification.
Bonsoir et bienvenue,
Pour enregistrer la feuille active dans le même répertoire, avec le nom de la cellule A5:
Code:
Sub CopieFeuille()
Dim Chemin As String, Nom As String
Chemin = ThisWorkbook.Path
Nom = ActiveSheet.Range("A5").Text
ActiveSheet.Select
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:=Chemin & "\" & Nom & ".xls"
End Sub
Cette macro crée une copie de la feuille. Pour la déplacer sans la conserver dans le classeur source, remplace "ActiveSheet.Copy" par "ActiveSheet.Move".
Cordialement,
Guiv
Re,
Quand le classeur est ouvert, faire Alt+F11 pour accéder à l'éditeur VBE.
Dans la fenêtre VBE qui s'ouvre, Insertion/Module.
Copier le code dans la fenêtre de droite et fermer VBE.
Pour exécuter la macro, Outils/Macros.
Sélectionner la macro "CopieFeuille" et Exécuter.
On peut ultérieurement ajouter un raccourci clavier ou un bouton pour exécuter la macro...
Raccourci clavier: Outils/Macros, sélectionner "CopieFeuille", puis "Options"
Bouton: Dans la barre d'outils "Formulaires", Choisir le bouton et le dessiner dans la feuille. La fenêtre "Affecter une macro" s'ouvre, sélectionner CopieFeuille et OK.
re-bonjour,
merci pour ce code, il marche trés bien, néanmoins je rencontre un probleme de visual basic 400 quand la cellule A5 contient un numero.
j'ai une autre question : puis je enregistrer sous le nom de 2 cellules exemple A5 contient "Fa20" et la cellule F10 contient "BL22/2010" puis renommer à la fois la feuille et l'onglet de manière à avoir en final un fichier excel nommé Fa20 + BL22/2010 avec une seule feuile qui est aussi nommée Fa20 + BL22/2010 ?
Merci
Je pense que JCGL a prévu le compteur pour éviter que 2 factures aient le même nom, ce qui ferait planter la macro au moment de l'enregistrement du nouveau classeur (il ne peut pas y avoir 2 classeurs portant le même nom dans un répertoire).
Pour supprimer ce compteur, supprimer la ligne:
oui incrementer un compteur pourrait etre très utile mais je ne pense pas que dans mon cas ça peut être bénéfique, j'exlique :
souvent, on fait des BL (bien sûr numérotés) pour une ste durant le mois et en fin de mois on facture tous les BL de cette ste en une seule facture, ce qui fais que les numeros des BL décallent des numeros des factures et ce décallage est aléatoire en fonction des nombre de BL (exemple en Mars la ste X a 6 # BL qu'on doit facturer dans une seule facture, entre temps o facture et BL en meme temps, donc il arrive qu'entre Facture+BL il y a des BLs donc
il peut y avoir une sollution ?
Re,
A ce que je comprends, c'est d'une véritable application de gestion commerciale dont tu as besoin. Es-tu allée voir sur la page "Téléchargements" du forum?>> ICI
Il y a plusieurs fichiers assez efficaces...
Ou alors, il nous faudrait savoir plus précisément quels sont tes besoins, et peut-être quelques fichiers exemples de ce que tu as déjà.
Cordialement,
Guiv
Curieux j'ai ouvert cette file et il s'avére que cela peut m'être utile mais.....
L'incrémentation et l'archivage s'opérent trés bien mais il faudrait que ton fichier "incremente...." se sauvegarde automatiquement à sa fermeture et garde ainsi en mémoire la valeur du compteur car sans cela il est toujours à 5 lorsqu'on le relance le lendemain par exemple.
Quelle amélioration à y porter ?