copie de certaine donée sur une autre feuille

  • Initiateur de la discussion Kigalère
  • Date de début
K

Kigalère

Guest
Bonjour à tous,
j'essaie de realiser une programme de gestion
avec une première feuille recepitulant toute les factures d'une année
chaque facture ayant un numéro le mois de sa création
mon souhait serai qu'en fonction du mois les données ecrites sur le feuille recapitulatives soient envoyée automatiquement sur la feuille du mois correspondant

mon deuxieme couhait serait que la macro existant deja sur la feuille recapitulative fonctionne aussi sur les feuilles de chaque mois
il sagit d'une macro faisant les totaux

Si vous avez une idée concernant mes petits problèmes qui seront pour certains d'une simplicité enfantine je vous prie de me laisser un petit messages
merci par avance de bien vouloir faire partager vos connaissances
Kigalère
 

Dan

XLDnaute Barbatruc
Bonjour,

Si tu pouvais déjà placer un petit fichier avec ce que tu as fait (avec données bidons) et un mot d'explication sur les problèmes que tu rencontres, ce serait plus facile.

Sinon, dans la zone 'rechercher' de cette fenetre, tapes 'factures', 'copier feuille' par exemple et tu peux déjà trouver pas mal de sujets qui traitent de ton pb.

Egalement dans la zone téléchargement, il existent des applis déposées qui pourraient te servir.

;)
 
K

Kigalère

Guest
Bonjour Dan ;

bon alors voila l'ébauche de programme que j'ai réalisé
:sick:
Sub RécapParMois()
'
' RécapParMois Macro
' Macro enregistrée le 08/08/2005 par kigalère
'
' si daté du jour correspond à 1/01/05 '
' faire'
'ouvrir un fichier sous le nom du mois '

Dim i As Integer
i = 5
Dim j As Integer
j = 4


If (Day(Date) = 1) Then
'chaque premier du mois on ajoute une feuille du nom du mois'
ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)

'Copier sur la feuille créer la feuille originalRécapMois

'enregistrer la feuille sous le nom du mois correspondant'
If (Month(Date) = 1) Then
ActiveSheet.Name = 'Janvier'
End If

If (Month(Date) = 2) Then
ActiveSheet.Name = 'Fevrier'
End If

If (Month(Date) = 3) Then
ActiveSheet.Name = 'Mars'
End If

If (Month(Date) = 4) Then
ActiveSheet.Name = 'Avril'
End If

If (Month(Date) = 5) Then
ActiveSheet.Name = ' Mai'
End If

If (Month(Date) = 6) Then
ActiveSheet.Name = 'Juin'
End If

If (Month(Date) = 7) Then
ActiveSheet.Name = 'Juillet'
End If

If (Month(Date) = 8) Then
ActiveSheet.Name = 'Aout'
End If

If (Month(Date) = 9) Then
ActiveSheet.Name = 'Septembre'
End If

If (Month(Date) = 10) Then
ActiveSheet.Name = 'Octobre'
End If

If (Month(Date) = 11) Then
ActiveSheet.Name = 'Novembre'
End If

If (Month(Date) = 12) Then
ActiveSheet.Name = 'Decembre'
End If


End If


While (Range('B' & i).Value <> '')

'si B vaut 7 envoyer dans copier la ligne à la dernière ligne du mois de aout

If (Range('B' & i).Value = 7) Then
' ouvrir la feuille aout
With Worksheets('Aout').Select
'tant que A dans la feuille Aout n'est pas nul faire
While (Sheets('aout').Range('A' & j).Value <> '')
While (Sheets('aout').Range('A' & j).Value <> Sheets('RécapFactures').Range('D' & i).Value)
j = j + 1
Wend
Wend

'copier la ligne à j+1
j = j + 1
Sheets('RécapFactures').Range('i').Value = Sheets('aout').Range('j').Value ' j'ai ecris ca pôur copier les lignes mais ca doit atre un peu cavalier comme fonction non?



i = i + 1
End With


End If

Wend


End Sub


Merci pour tout
 
K

Kigalère

Guest
Bonjour Dan ;

bon alors voila l'ébauche de programme que j'ai réalisé
:sick:
Sub RécapParMois()
'
' RécapParMois Macro
' Macro enregistrée le 08/08/2005 par kigalère
'
' si daté du jour correspond à 1/01/05 '
' faire'
'ouvrir un fichier sous le nom du mois '

Dim i As Integer
i = 5
Dim j As Integer
j = 4


If (Day(Date) = 1) Then
'chaque premier du mois on ajoute une feuille du nom du mois'
ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)

'Copier sur la feuille créer la feuille originalRécapMois

'enregistrer la feuille sous le nom du mois correspondant'
If (Month(Date) = 1) Then
ActiveSheet.Name = 'Janvier'
End If

If (Month(Date) = 2) Then
ActiveSheet.Name = 'Fevrier'
End If

If (Month(Date) = 3) Then
ActiveSheet.Name = 'Mars'
End If

If (Month(Date) = 4) Then
ActiveSheet.Name = 'Avril'
End If

If (Month(Date) = 5) Then
ActiveSheet.Name = ' Mai'
End If

If (Month(Date) = 6) Then
ActiveSheet.Name = 'Juin'
End If

If (Month(Date) = 7) Then
ActiveSheet.Name = 'Juillet'
End If

If (Month(Date) = 8) Then
ActiveSheet.Name = 'Aout'
End If

If (Month(Date) = 9) Then
ActiveSheet.Name = 'Septembre'
End If

If (Month(Date) = 10) Then
ActiveSheet.Name = 'Octobre'
End If

If (Month(Date) = 11) Then
ActiveSheet.Name = 'Novembre'
End If

If (Month(Date) = 12) Then
ActiveSheet.Name = 'Decembre'
End If


End If


While (Range('B' & i).Value <> '')

'si B vaut 7 envoyer dans copier la ligne à la dernière ligne du mois de aout

If (Range('B' & i).Value = 7) Then
' ouvrir la feuille aout
With Worksheets('Aout').Select
'tant que A dans la feuille Aout n'est pas nul faire
While (Sheets('aout').Range('A' & j).Value <> '')
While (Sheets('aout').Range('A' & j).Value <> Sheets('RécapFactures').Range('D' & i).Value)
j = j + 1
Wend
Wend

'copier la ligne à j+1
j = j + 1
Sheets('RécapFactures').Range('i').Value = Sheets('aout').Range('j').Value ' j'ai ecris ca pôur copier les lignes mais ca doit atre un peu cavalier comme fonction non?



i = i + 1
End With


End If

Wend


End Sub


Merci pour tout
 

Dan

XLDnaute Barbatruc
re,

J'ai vu ta macro mais bon placée dans un fichier ce serait mieux.

Pour ce qui est de la faire fonctionner pour chaque feuille, il faudrait que tu la places en VBA dans le nom de la feuille récapitulative. A ce moment elle sera active pour tout le classeur.

Pour ce faire :
- Alt + F11
- Ctrl + R pour afficher VBA project à gauche
- double clique sur la feuille où se trouve tes données -> 'RécapFactures' (c'est bien celle là ?)
- A droite place
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Ta macro -> recapparmois
End Sub

Dès que tu changera quelque chose dans ta feuille de données cette macro va s'exécuter.

Bon comme je te l'ai dit c'est une proposition mais le mieux serait de voir un exemple de ton fichier avec données bidons.

NB : Evite aussi d'employer des accents sur tes lettres pour nommer les feuilles et les macros. Cela évite des pb de fonctionnement. L'informatique est capricieuse là...


;)
 
K

Kigalère

Guest
Bonjour Dan,
merci de me repondre
je vais essayer ce que tu me conseiller en attendant je vais tenter de t'envoyer le fichier (' sans les modif')
si tu as un moment peux tu y jeter un coup d'oeil merci par avance de toute l'aide que tu m'apportes
a bientot
:eek:
 
K

Kigalère

Guest
Bonjour Dan,
merci de me repondre
je vais essayer ce que tu me conseiller en attendant je vais tenter de t'envoyer le fichier (' sans les modif')
si tu as un moment peux tu y jeter un coup d'oeil merci par avance de toute l'aide que tu m'apportes
a bientot
:eek: [file]
 

Tibo

XLDnaute Barbatruc
Salut Kigalère,

Pour joindre ton fichier, il faut que :

- il soit zippé (pas avec Winrar)
- que la taille du fichier zippé ne dépasse pas 50 ko
- que le nom du fichier zippé ne contienne pas d'espace, tiret, acccent et autres caractères spéciaux.

Essaye en respectant ces règles, ça devrait passer.

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 559
Messages
2 089 637
Membres
104 234
dernier inscrit
boulayy