Repport de données

sten83

XLDnaute Occasionnel
Bonjour à tous, voilà mon problème j'ai deux feuilles une pour des données par semaine et une pour un récapitulatif mensuel.
Ce que je voudrai faire par le biais d'une macro c'est envoyer les données de la semaine vers la feuille du mois.
Style semaine 47 je clic et hop les données sont affichées semaine 47 sur la feuille du mois.
Est ce possible?
Merci de votre aide je joint le petit fichier, a savoir qu'il n'est pas complet mais ces deux feuilles suffisent.
 

Pièces jointes

  • test repport.xlsm
    35.2 KB · Affichages: 25

Philippe Tulliez

XLDnaute Nouveau
Re : Repport de données

Bonjour,
Voici un exemple avec la liste de données source (feuille nommée Hebdomadaire) et les données cible (feuille Target)
Les deux listes commencent en cellule A1 et la première ligne contient les étiquettes de colonnes.
Les colonnes des deux feuilles sont identiques et la dernière colonne de la feuille cible contient la formule calculant la semaine qui n'est pas dans la feuille source
Les dates se trouvent dans les deux feuilles en colonne A
Code:
Option Explicit
Sub CopyRange()
 Dim rngSource As Range, rngTarget As Range, LasRowTarget As Long
 With ThisWorkbook
  Set rngSource = .Worksheets("Hebdomadaire").Range("A1").CurrentRegion
  Set rngTarget = .Worksheets("Mensuel").Range("A1").CurrentRegion
 End With
 With rngSource ' Source sans les étiquettes de colonnes
  Set rngSource = .Offset(1).Resize(.Rows.Count - 1)
 End With
 With rngTarget
  rngSource.Copy rngTarget.Offset(.Rows.Count - 1).Resize(1, 1)
  ' Copie de la formule calculant la semaine
  .Range(.Cells(.Rows.Count + 1, .Columns.Count), .Cells(.Rows.Count + rngSource.Rows.Count - 1, .Columns.Count)).Formula = "=WEEKNUM(A" & .Rows.Count + 1 & ",21)"
 End With
End Sub
 
Dernière édition:

sten83

XLDnaute Occasionnel
Re : Repport de données

Bonjour et merci pour le code je vais être exigeant mais pourrais tu me donnée un exemple sur un petit classeur , suis pas très a l'aise en VBA car si je comprend bien je vais devoir refaire toute la conception.
J'ai crée les deux feuilles mais apparemment j'ai un petit soucis le N° de semaine ne s'affiche pas, peux tu regarder je joint le fichier modifié.
Merci pour ton aide
 

Pièces jointes

  • test repport(2).xlsm
    34.1 KB · Affichages: 18

Philippe Tulliez

XLDnaute Nouveau
Re : Repport de données

Bonjour,
Bonjour et merci pour le code je vais être exigeant mais
J'ai ajouté une colonne et j'ai modifié la procédure en effaçant les données sources après la copie
La procédure
Code:
Sub CopyRange()
 ' http//philippe.tulliez.be
 Dim rngSource As Range, rngSourceData As Range, rngTarget As Range, LasRowTarget As Long
 With ThisWorkbook
  Set rngSource = .Worksheets("Hebdomadaire").Range("A1").CurrentRegion
  Set rngTarget = .Worksheets("Mensuel").Range("A1").CurrentRegion
 End With
 With rngSource
  ' Source sans les étiquettes de colonnes
  Set rngSourceData = .Offset(1).Resize(.Rows.Count - 1)
 End With
 With rngTarget
  rngSourceData.Copy rngTarget.Cells(.Rows.Count + 1, 1)
  ' Copie de la formule calculant la semaine
  .Range(.Cells(.Rows.Count + 1, .Columns.Count), .Cells(.Rows.Count + rngSource.Rows.Count - 1, .Columns.Count)).Formula = "=WEEKNUM(A" & .Rows.Count + 1 & ",21)"
 End With
 rngSourceData.ClearContents ' Supprime le contenu de la source
 Set rngSource = Nothing: Set rngSourceData = Nothing: Set rngTarget = Nothing:
 MsgBox "Transfert terminé"
End Sub
Le classeur exemple
Regarde la pièce jointe 151201 xlD Copy Vers feuille de synthèse.xls
 

sten83

XLDnaute Occasionnel
Re : Repport de données

Bonjour, je reviens sur mon problème j'ai bien vu le bout de code que tu ma donné, mais cela ne convient pas pour ce que je veux.
Excusez-moi pour cette demande, j'ai fait un petit fichier pour que tu comprenne mieux ce que je veux.
J'epère ne pas être trop exigeant.
Encore merci pour l'aide apporté.
 

Pièces jointes

  • TEST_REPPORT.xlsm
    25.9 KB · Affichages: 20
  • TEST_REPPORT.xlsm
    25.9 KB · Affichages: 21

Discussions similaires

Statistiques des forums

Discussions
312 185
Messages
2 086 010
Membres
103 090
dernier inscrit
Createlier