Recopier les éléments en fonction du mois+cumul

Melmet

XLDnaute Nouveau
Bonjour,

Je suis une utilisatrice d'EXCEL plutôt débutante, mais je voudrai m'améliorer...

Pour m'aider dans le report des sommes pour un bulletin de paie,
je voudrais recopier des sommes tel que le brut, le net etc... dans un tableau et au mois concerné.

J'utilise le même fichier tous les mois, mais je ne change pas d'onglet.
Il faut donc que les éléments du mois précédent soient conservés.

J'espère avoir été clair.

Pouvez-vous m'aider à faire une formule ou une macro ?

Merci.

Cordialement.
 

Pièces jointes

  • BP TRAME essai.xlsm
    45.1 KB · Affichages: 47

jp14

XLDnaute Barbatruc
Bonjour

Ci dessous une procédure qui devrait répondre au problème.
Les adresse correspondent à celle de la macro "finsal" existante.

Sub finsal()
Dim Mois As Byte, lig As Long
Dim Annee As Integer
' recherche de la date

Mois = Month(Sheets("SAL 1").Range("B2"))
Annee = Year(Sheets("SAL 1").Range("B2"))
lig = Ligne(Mois, Annee)
Sheets("RECAP").Range("C" & lig) = Sheets("SAL 1").Range("B11")
Sheets("RECAP").Range("D" & lig) = Sheets("SAL 1").Range("C35")
Sheets("RECAP").Range("E" & lig) = Sheets("SAL 1").Range("C50")
Sheets("RECAP").Range("B" & lig) = Sheets("SAL 1").Range("C82")
Sheets("RECAP").Range("J" & lig) = Sheets("SAL 1").Range("E82")
Sheets("RECAP").Range("K" & lig) = Sheets("SAL 1").Range("E83")
Sheets("RECAP").Range("I" & lig) = Sheets("SAL 1").Range("E84")
Sheets("RECAP").Range("H" & lig) = Sheets("SAL 1").Range("F55")
Sheets("RECAP").Range("G" & lig) = Sheets("SAL 1").Range("F56")
Sheets("RECAP").Range("F" & lig) = Sheets("SAL 1").Range("H34")
Sheets("RECAP").Range("M" & lig) = Sheets("SAL 1").Range("H82")
Sheets("RECAP").Range("N" & lig) = Sheets("SAL 1").Range("H83")
Sheets("RECAP").Range("O" & lig) = Sheets("SAL 1").Range("H85")
Sheets("RECAP").Range("P" & lig) = Sheets("SAL 1").Range("H86")
Sheets("RECAP").Range("Q" & lig) = Sheets("SAL 1").Range("H87")
Sheets("RECAP").Range("S" & lig) = Sheets("SAL 1").Range("H88")

End Sub

Private Function Ligne(Mois As Byte, Annee As Integer) As Long ' recherche de la ligne
Dim Plg2 As Range, Mois1 As Byte, Annee1 As Integer
With Sheets("Recap")
Set Plg2 = .Range("A29:A51" & .Range("A" & .Rows.Count).End(xlUp).Row)
For Each cellule1 In Plg2
If Mois = Month(cellule1) And Annee = Year(cellule1) Then
Ligne = cellule1.Row
Exit Function
End If

Next cellule1

End With
End Function
A tester

JP14
 

Melmet

XLDnaute Nouveau
Bonjour,

J'ai essayé de créer les mêmes onglets avec d'autres salariés, et je pensais copier/coller ce que vous m'avez envoyé pour que cela fasse pareil pour mes autres onglets
Quand je lance ma macro , j'ai le message
"Erreur de compilation : Nom ambigu détecté ligne" et cela me surligne ==> Private Function Ligne(Mois As Byte, Annee As Integer) As Long
Qu'est-ce que j'ai mal fait!!
Merci de votre réponse.

Bonne fin de journée
 

Discussions similaires

Statistiques des forums

Discussions
312 165
Messages
2 085 882
Membres
103 010
dernier inscrit
Sys974