je voudrai pouvoir copier la valeur de la cellule I28 de la feuille FICHE du classeur PERSONNEL vers le classeur RECAP sur la feuille RESULTATS en fonction de la date.
Dans le tableau de la feuille RESULTATS il y a un tableau avec les mois de l'année. Donc tous les mois je voudrai copier la valeur de la cellule I28 citée ci-dessus dans la colonne du tableau avec les mois.
Pourriez vous SVP m'aider avec la macro qui se trouve dans le classeur PERSONNEL, elle me marque toujours une erreur à la ligne, voici une copie de la macro, mais elle est aussi placée dans le classeur PERSONNEL.
Re Wayki,
Non je sais ; je plaisantais mais certains !!!
par contre j'ai une question Wayki.
Admettons que je rajoute deux cellules à reopier, quel changement dois-je faire dans ton texte vba les deux cellules à rajouter se situent juste après la I28, donc I29 et I30.
Si tu pourrais m'expliquer cela STP.
Même si vous avez trouvé ça peut aider des personnes.
C'est cette ligne : Fiche1.Range("I28").Copy
Remplacer par : Fiche1.Range("I28:I30").Copy
Veillez à ce que les destinations correspondent par contre
A +
Bonjour,
C'est un peu du n'importe quoi ce code.
Sur la feuille personnel, remplacez les mois par 01 pour janvier, 02 pour février etc (mettre les nombres en texte pour que le 0 apparaisse devant le chiffre), afin d'obtenir une date au format jj/mm/aaaa.
J'ai supposé que la somme copiée était un salaire et qu'il fallait la mettre dans la case correspondante au mois indiqué.
Essayez donc ceci plutôt :
VB:
Public Sub ActualiserRECAP1()
Dim date1 As Date, R_Date, Salaire, Resultats As Worksheet, Fiche1 As Worksheet
Set Resultats = Workbooks("Recap").Worksheets("Resultats")
Set Fiche1 = Workbooks("personnel").Worksheets("Fiche1")
Fiche1.Range("I28").Copy
date1 = "01/" & Fiche1.Range("D5") & "/" & Fiche1.Range("D3")
Salaire = Resultats.Cells.Find("Salaires").Row
R_Date = Resultats.Cells.Find(date1).Column
Resultats.Cells(Salaire, R_Date).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=True
Application.CutCopyMode = False
Sheets("TDB").Select
End Sub
Sheets("TDB").Select
Nous n'avons pas de feuille correspondante à la partie en gras, à vérifier par vos propres soins.
A +
Bonjour,
C'est un peu du n'importe quoi ce code.
Sur la feuille personnel, remplacez les mois par 01 pour janvier, 02 pour février etc (mettre les nombres en texte pour que le 0 apparaisse devant le chiffre), afin d'obtenir une date au format jj/mm/aaaa.
J'ai supposé que la somme copiée était un salaire et qu'il fallait la mettre dans la case correspondante au mois indiqué.
Essayez donc ceci plutôt :
VB:
Public Sub ActualiserRECAP1()
Dim date1 As Date, R_Date, Salaire, Resultats As Worksheet, Fiche1 As Worksheet
Set Resultats = Workbooks("Recap").Worksheets("Resultats")
Set Fiche1 = Workbooks("personnel").Worksheets("Fiche1")
Fiche1.Range("I28").Copy
date1 = "01/" & Fiche1.Range("D5") & "/" & Fiche1.Range("D3")
Salaire = Resultats.Cells.Find("Salaires").Row
R_Date = Resultats.Cells.Find(date1).Column
Resultats.Cells(Salaire, R_Date).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=True
Application.CutCopyMode = False
Sheets("TDB").Select
End Sub
Sheets("TDB").Select
Nous n'avons pas de feuille correspondante à la partie en gras, à vérifier par vos propres soins.
A +
Re Wayki,
Non je sais ; je plaisantais mais certains !!!
par contre j'ai une question Wayki.
Admettons que je rajoute deux cellules à reopier, quel changement dois-je faire dans ton texte vba les deux cellules à rajouter se situent juste après la I28, donc I29 et I30.
Si tu pourrais m'expliquer cela STP.
Re Wayki,
Non je sais ; je plaisantais mais certains !!!
par contre j'ai une question Wayki.
Admettons que je rajoute deux cellules à reopier, quel changement dois-je faire dans ton texte vba les deux cellules à rajouter se situent juste après la I28, donc I29 et I30.
Si tu pourrais m'expliquer cela STP.
Même si vous avez trouvé ça peut aider des personnes.
C'est cette ligne : Fiche1.Range("I28").Copy
Remplacer par : Fiche1.Range("I28:I30").Copy
Veillez à ce que les destinations correspondent par contre
A +
Même si vous avez trouvé ça peut aider des personnes.
C'est cette ligne : Fiche1.Range("I28").Copy
Remplacer par : Fiche1.Range("I28:I30").Copy
Veillez à ce que les destinations correspondent par contre
A +
Moi j'avais trouvé cela et ça fonctionne bien.
Sub ActualiserRECAP()
Workbooks("recap.xlsm").Sheets("RESULTATS").Cells(22, WorksheetFunction.Match(Range("D5"), Range("AA1:AA12"), 0) + 2) = Range("I28")
Workbooks("recap.xlsm").Sheets("RESULTATS").Cells(23, WorksheetFunction.Match(Range("D5"), Range("AA1:AA12"), 0) + 2) = Range("I29")
End Sub