Problem macro d'archivage

Bonjour a tous,

Je suis nouveau et je voudrais tout d'abord vous remercier pour ce super forum.

c'est on premiere msg et j'espere que quelqun trouvera la solution a mon soucie.

J'ai creer le code suivant afin de pouvoir enregistrer la feuille facture de mon fichier excel dans le repertoire suivant "C:\Users\Badr\Desktop\Texunion\Texunion Logistique\factures".

J'ai 2 problemes:

le 1er problem c'est que je n'arrive pas a enregistrer la macro, j'ai un msg d'erreur qui me dis de changer le "file type de ma macro" je ne comprend pa, J'ai excel 2007.

Le 2 eme problem c'est la macro n'enregistre pas la feuille facture dans le bonne endroit, elle l'enregistre dans le bureau.

Voici a macro

Sub Archiver()
Dim extension As String
Dim chemin As String, nomfichier As String
Dim style As Integer
Application.ScreenUpdating = False
ThisWorkbook.ActiveSheet.Copy
extension = ".xls"
chemin = "C:\Users\Badr\Desktop\Texunion\Texunion Logistique\factures"
nomfichier = ActiveSheet.Range("f9") & "-facture-" & Range("c10") & extension
With ActiveWorkbook
    .ActiveSheet.DrawingObjects(1).Delete
    .SaveAs Filename:=nomfichier
    .Close
End With
End Sub

Salut le forum

Pour enregistrer un fichier Excel 2007 en xlsm, il faut sélectionner

fichier prenant en charge les macro

ou sauvegarder en version Excel 97-2003 (xls).

Pour le code (Adapte les variables selon tes besoins)

    With ActiveWorkbook
        .SaveAs TempFilePath & TempFileName & ".xlsm", FileFormat:=52
        .Close
    End With

Mytå

Salut et bienvenue sur le Forum,

Essaie ce code :

Option Explicit

Sub Archiver()
Dim extension As String

Application.ScreenUpdating = False
ThisWorkbook.ActiveSheet.Copy

extension = ".xls"

ActiveWorkbook.SaveAs Filename:= _
    "C:\Users\Badr\Desktop\Texunion\Texunion Logistique\factures\" & ActiveSheet.Range("f9") _
    & "-facture-" & Range("c10") & extension

ActiveWorkbook.Close
End Sub

Sinon place un fichier exemple, s'il-te-plait.

A te relire.

Salut yvouille,

Merci beaucoup pour ta reponse et ton aide

tu es top ca fonctionne parfaitemant !

Le probleme c'est que je n'arrive pas a enregistrer le fichier avec la Macros.. En cherchant en ligne j'ai vue que plusieurs personnes ont le meme probleme car ils ont la version 2007 d'excel Comment faire ? :s

je 'tenvoie mon fichier en piece jointe.

je voudrais aussi affecter au bouton "nouvelle facture" une macro qui me permetterais de vider la facture tout en gardant les formules dedans.

il ya autre chose :s chaque facture que je cree contient plusieur BL mais je n'arrive pas a ramener les numero de BL de la table livraison au celulles c13 c14 et c15 de la feuille facture probleme de doublon :S

Merci bcp bcp !

Badr

61test.xlsx (51.12 Ko)

Salut Myta,

Merci pour ta reponse,

J'ai pu enregistrers le fichier sous le format excel 2003 et ca Marche !

Merci

Pour Yvouille :

Qu'est ce que tu pense de mon fichier ? merci bcp

Re,

bbadr a écrit :

Le probleme c'est que je n'arrive pas a enregistrer le fichier avec la Macros

Je ne comprends pas trop : tu n'arrives pas à enregistrer le fichier par l'intermédiaire de la macro que tu utilises ou tu n'arrives pas à enregistrer le fichier y compris la macro qu'il contient déjà ?

Dans le premier code que tu as fourni, tu disais vouloir enregistrer la copie de ton fichier avec l'extension .xls (Excel 2003). Est-ce intentionnel ou non ?

Le fichier que tu me fournis maintenant est un fichier .xlsx (Excel 2007 ne prenant pas en charge les macros). Ce fichier ne comporte donc aucune macro sur laquelle nous pourrions travailler.

Si tu veux travailler au format 2007 avec des macros, tu dois utiliser l'extension .xlsm.

Si tu veux que l'on puisse t'aider, fourni-nous donc plus de renseignements ainsi qu'un fichier avec tes macros existantes.

bbadr a écrit :

je voudrais aussi affecter au bouton "nouvelle facture" une macro qui me permetterais de vider la facture tout en gardant les formules dedans.

Quelles cellules exactement veux-tu vider sur la feuille "Facturation" (Marque-les éventuellement par une couleur) ?
bbadr a écrit :

il ya autre chose :s chaque facture que je cree contient plusieur BL mais je n'arrive pas a ramener les numero de BL de la table livraison au celulles c13 c14 et c15 de la feuille facture probleme de doublon :S

J'ai compris que si tu choisis par exemple f00001 dans la cellule F9 de la feuille "Facturation", tu désirerais que les données de la colonne B de la feuille "livraison" - correspondant à f0001 dans la colonne P de cette même feuille - soient reportées automatiquement dans les cellules C13, C14 et C15 de la feuille "Facturation". Est-ce bien correcte ? Je vois alors un problème : sur la feuille "livraison", dans la colonne B, 4 BL correspondent à la référence f00001 en colonne P alors que tu n'as que trois places disponibles (Feuille "Facturation", cellules C13, C14 et C15). Si je n'ai pas tout compris, merci d'être plus clair. Marque peut-être avec une couleur les cellules dans lesquelles tu désirerais avoir un résultat automatisé en y inscrivant manuellement le résultat désiré et en nous indiquant d'une manière ou d'une autre comment ou où aller chercher ce résultat désiré.

A te relire.

SAlut yvouille !

Merci Pour ta reponse detailler et pour le temps que tu m'accorde.

Voici le fichier avec dans les cellules les explications de ce que je veux faire

etape 1: importer automatiquement les numeros de BL de la feuille livraison a la feuille "facture" dans les celules C13, C14, C15.

( le probleme ici c'est que dans la feuille livraison 3 Bl on le meme numero de facture ex: f0001 donc la recherchev ne fonctione pas.

Etape 2: petite macro qui permeterais de supprimer le numero de facture pour avoir une feuille vide et creer une nouvelle facture

Merci infiniment

Voici le fichier en piece jointe

Badr

43fichier-test-2.zip (43.41 Ko)

Salut,

Afin d'avoir une liste sans doublon dans la cellule F9 de la feuille "Facturation", j'ai dû rajouter des formules dans la colonne Q sur la feuille "Livraison". Il y est prévu 9 numéros de facture (cellules en vert). S'il devait y avoir plus de factures possibles inscrites sur cette feuille, il faudrait revoir la chose. Attention, il s'agit de formules matricielles.

Ta feuille " livraison" était écrite avec un espace au début. Afin d'éviter d'avoir des ennuis dans les macros, j'ai modifé le nom en "Livraison".

J'ai déplacé ta macro "Archiver" dans un module, à la place de la laisser dans le code de la feuille.

Dans le même module, j'ai placé un code - lié au bouton "Nouvelle facture" - permettant de remettre à zéro ta feuille "Facturation".

Je n'arrive pas à reporter les références des BL de la feuille "Livraison" aux cellules C13:C15 de la feuille "Facturation" à l'aide de formules. Je te propose alors une macro - placée elle dans le code de la feuille - réalisant, il me semble, ton souhait.

A te relire.

53fichier-test-v3.zip (47.09 Ko)

Bonsoir Yvouille,

Tu es un genie!!!

Ca marche parfaitement bien

Tu es top !

Parcontre je ne sais pas c'est quoi les formulles matricielle........

Il ya aussi le soucie des 9 factures.... j'ai en moyenne 3 factures a faire par semaine..... donc le top ca serais d'avoir un nombre illimiter de factures, du moin jusqu'a la fin de la feuille excel

Pour dire vrai je n'ai aucune idee de comment je pourrais faire :s

Une proposition ?

Merci encore le genie

Voici une explication sur le formules matricielles :

http://www.info-3000.com/excel/matrice.php

Je t'ai rendu attentif à la chose car si tu cliques - dans la barre de formule - sur les composantes d'une formule matricielle, tu fais disparaître les accolades devant et derrière la formule et elle ne fonctionne plus. Dans un tel cas, afin que les accolades reviennent en place, tu dois sélectionner le texte de la formule et valider par Ctrl+Majuscule+Enter. Tout ceci est indiqué dans l'article que je t'ai conseillé ci-dessus. Il y a bien d'autres articles sur le net qui traitent du sujet.

Tu dis vouloir des formules jusqu'au bout de la feuille Excel. Ca fait quand même plus de 65'000 factures avec Excel 2003 !! Mais ces formules ralentissent à certains moments le recalcule de la feuille et ça peut être assez pénible.

Regarde donc le fichier ci-joint avec la possibilité d'inscrire 1000 factures et dis-moi quoi. Autrement je pense qu'on devra partir dans la direction d'une macro.

Bonnes salutations.

75fichier-test-v4.zip (80.81 Ko)

Salut Yvouile, salut le forum !

J'espere que tu passe une bonne journee,

J'ai compris un peu le system des formules matricielle, cela dis le fichier devient tres lent :s ou peut etre que c mon ordi,,,,j'ai un core i3... ca beug trop :s

Tu pense a quoi pour une formule VBA?

:s

Merci pour ton aide

bbadr a écrit :

cela dis le fichier devient tres lent

Je t'avais averti

Dans le fichier ci-joint, j'ai placé un code directement sur la feuille "Livraison". A chaque modification de la colonne P de cette feuille, la colonne Q est actualisée (données de la colonne P triées puis suppression des doublons).

Cette liste de la colonne Q (que tu peux cacher si tu en as l'envie) est - comme dans la version _V4 - utilisée pour la liste déroulante de la feuille "Facturation", cellule F9.

Bonne journée.

21fichier-test-v5.zip (55.75 Ko)

Salut yvouille, salut le forum!

j'espere que tu a passer un bon weekend, Dsler je n'ai pas pu repondre plus top, j'etais en deplacement pour le weekend.

J'ai vue un peu ta macro....elle est top !! elle fonctionne tres bien mais je n'y comprend rien

J'ai essayer d'ameliorer un peu mon system et en faisant quelques tests j'ai remarquer que la macro ne fonctionais plus .

la macro ne me reprend pas les informations de la feuille" facturation" collone "o", vers collone "p" du coup je ne peux pas faire de facture.

je t'envoie le fichier ne piece jointe

merci

Badr

19systemlog-v6.zip (62.73 Ko)

Re,

bbadr a écrit :

les informations de la feuille" facturation" collone "o", vers collone "p"

Je pense que tu as voulu dire de la feuille "Livraison", non ?

Pourquoi ne pas avoir donné ton fichier réel tout de suite

Dans ton fichier test, les factures se trouvent dans la colonne P de la feuille "Livraison", dans ton fichier réel dans la colonne O. C'est pas la même chose.

Idem pour tes BL : ils étaient avant dans la colonne B de la feuille "Livraison", maintenant dans la colonne A.

J'ai maintenant corrigé les codes et les factures ajoutées dans la colonne P de la feuille "Livraison" sont reportées, si nécessaire, dans la colonne Q et lorsque tu choisis une facture sur la feuille "Facturation", dans la cellule F9, les BL sont reportés à nouveau.

A te relire.

46systemlog-v6-y1.zip (63.85 Ko)

Salut yvouille, bonsoir le forum,

Je suis de retour apres une petite semaine d'absence , Merci bcp pour ta reponse yvouille, tu ma vraiment bp aider.

ca repond donc excatement a ce que je voulais faire, j'aurais quelques modification a faire mais pour le moment je dois introduire petit a petit le systeme .

En parallele, je travail sur un autre fichier, c'est pour la partie commercial de l'entreprise. j'aimerais donc pourvoir apres avoir fais une facture ou un devie:

1- enregistrer les different element dans une nouvelle feuille excel pour pouvoir faire le suivie des clients,

2- pouvoir enregister une copie de la factures automatiquement dans un autre fichier situer ici :C:\Users\Badr\Desktop\Texunion\texunion Luminaire\Facturesluminaires et les deviesici C:\Users\Badr\Desktop\Texunion\texunion Luminaire\Deviesluminaires

3- par rapport au facture emise et au achat fournisseur, avoir une automatisation dans la feuille gestion des stock.

tout cela est tres compliquer je l'avoue , voici le fichier que j'ai creer

Merci a tous

Salut,

Je suis actuellement sur un gros projet et je n'ai malheureusement pas trop le temps de t'aider. Si tu ne reçois pas de réponse d'autres membres assez rapidement - disons d'ici demain - je te conseille de clore ce fil et d'en commencer un nouveau.

Cordialement.

Ok donc ce que je vais faire c'est clore ce sujet et ouvrir un nouveau.

Bon courage pour ton projet yvouille

Rechercher des sujets similaires à "problem macro archivage"