Relevé mensuel et +++

Q

Quaisako

Guest
Bonsoir,

J'ai un classeur avec deux feuilles. "Facture" et "Relevé".

-Je récupère certaines données (date, nom, montant...etc) de la feuille "Facture" dans la feuille "Relevé", je souhaiterai qu'elles viennent s'incrire dans des feuilles nommées: "Janvier", "Février", "Mars", "Avril" ....etc (suivant la date à laquelle elles ont été éditées).

Je vois cette solution, avec une feuille par mois. Peût-être quelqu'un a-t-il une autre solution!

Tout çà pour pouvoir faire des relevés mensuels généraux dans un premier temps et ensuite des relevés mensuels par clients et un relevé annuel.

-Comment faire pour ouvrir le classeur sur la feuille "Facture"?

-J'ai créé un répertoire dans lequel il y a des sous-répertoires (un par client); Est-il possible qu'un enregistrement de facture aille directement dans le répertoire qui le concerne? (D'après le nom du client).

-Dans la feuille des relevés, comment ouvrir une facture en ayant seulement son numéro?

D'avance, je remercie celles et ceux qui se pencheront sur mon cas.

Quaisako
 
T

Thierry

Guest
Salut Quaisako,

Pour la première partie de ta question, je vais essayer de te répondre plus tard sur ton autre post supplémentaire "Récupération des données" si personne ne le fait avant...

============
Pour la question : "comment faire pour ouvrir le classeur sur la feuille "Facture"
=> Il suffit d'une macro évènementielle dans le module "ThisWorkbook"

Private Sub Workbook_Open()
Sheets("facture").Activate
End Sub


============
Pour la question : "sauver la feuille facture dans le répertoire qui la concerne par nom de client"
=> Je suppose que tu numérotes ta facture quelque part (soit manuellement soit par macro)... Dans l'exemple suivant le numéro est en "G62" le nom de client en "F8" (comme dans ton premier post) cette macro devrait faire le reste (sous réserve que chaque client ait bien son répertoire préalablement créé et avec exactement le même "spelling" sinon tu auras le msg prévu...)

Sub Enregistrement ()
Dim Nom_Fichier As String
Dim Nom_Client As String
Dim Num_Facture As String
On Error go to Sortie

Num_Facture = Range("G62")
Nom_Client = Range("F8")
Nom_Fichier = "Facture " & Num_Facture & ".xls"

Sheets("Facture").Copy
ChDir "C:\mes factures\" & Nom_Client &"\"
ActiveWorkbook.SaveAs Filename:=Nom_Fichier
ActiveWorkbook.Close
Exit Sub
Sortie:
msgbox "Répertoire Client " & Nom_Client &" Introuvable"
End Sub


============
Pour la question : "ouvrir une facture en ayant seulement son numéro depuis la feuille relevés":
En admettant les positions du numéro de Facture en colonne "A" et Nom de Client en Colonne "C", et en te positionnant sur le numéro de la facture à ouvrir... une macro dans ce style devrait le faire (si tes factures sont bien sauvées comme dans l'exemple ci-dessus...)

Sub Ouverture ()
Dim Num_Facture as String
Dim Nom_Client as String

Num_facture = ActiveCell.Value
Nom_client = ActiveCell.Offset(0, 2).Value

Workbooks.Open Filename:="C:\Mes Factures\" & Nom_Client & "\" & "Facture " & Num_Facture &".xls"

End Sub

============
En fait, je comprends bien ce que tu veux faire, mais je ne m'y prendrais pas comme çà non-plus... Un répertoire par client, même si celà semble pratique pour toi, n'est pas vraiment "maléable" et facile à gérer quand il y a bcp de factures... Mais bon... C'est toi qui voit.

J'espère que tu seras en mesure d'appliquer ces petites macros et que tu en comprendra le mécanisme qui est en fait très très simple... Il suffit de savoir jongler avec des variables "string" et de les "concaténer" dans une bonne syntax... C'est assez basic, mais çà permet de faire un premier pas dans le monde des variables...

Bonne Semaine
@+Thierry
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 947
Membres
101 849
dernier inscrit
florentMIG