Copier les valeurs dans un autre tableau chaque fin de mois

ozone083

XLDnaute Junior
Bonjour

Dans un premier tableau, j'ai des données qui évolue chaque semaine ; à la fin du mois, je veux faire copier coller valeur de ces valeurs dans un autre tableau dans lequel j'ai différentes colonnes pour chaque mois de l'année. Il faut que les valeurs soient copiées dans la colonne correspondant au mois en cours.

(exemple ci joint)

Si vous avez des idées car je n'ai rien trouvé sur les forums (idées avec formule Excel ou en utilisant VBA).

Merci pour votre aide.
 

Pièces jointes

  • Exemples Tableaux.xlsx
    18.9 KB · Affichages: 55

CISCO

XLDnaute Barbatruc
Re : Copier les valeurs dans un autre tableau chaque fin de mois

Bonjour

Tu peux faire avec, en Report!C3
Code:
=SI(AUJOURDHUI()=FIN.MOIS(C$2;0);INDEX(Tool!$C$3:$C$7;LIGNES($1:1));"")
si les données sont dans le même ordre (dans un de tes onglets, les noms sont en anglais, dans l'autre en français, donc on ne peut pas faire simplement avec un RECHERCHEV ou avec un INDEX EQUIV), formule à tirer vers la droite et vers le bas, sans changer le format (collage spécial, formule uniquement).

Ensuite, il faudrait une petite macro qui, lors de la fermeture par ex, copie la plage du mois en cours, et recolle sur place les valeurs et non les formules. Ainsi ces valeurs ne disparaitraient pas dès le lendemain. Mais ça, je ne sais pas faire.

Autre solution. Faire avec, toujours dans Report!C3
Code:
=SI(AUJOURDHUI()=FIN.MOIS(C$2;0);INDEX(Tool!$C$3:$C$7;LIGNES($1:1));C3)
en autorisant les références circulaires si cela ne pose pas de problème par ailleurs. Plus besoin de macro dans ce cas.

@ plus
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Copier les valeurs dans un autre tableau chaque fin de mois

Bonjour

Il y a surtout que, comme ce sujet n'est pas semblable à celui d'Ozone083, tu ferais mieux d'ouvrir une autre discussion, et d'effacer le post ci-dessus.

@ plus
 

Lone-wolf

XLDnaute Barbatruc
Re : Copier les valeurs dans un autre tableau chaque fin de mois

Bonjour ozone, CISCO, dush, gosselien, :D

une autre façon de faire en VBA, mais il faut ajouter la condition de fin de mois.
Dans la feuille Tool double-clic sur la feuille, ensuite modifie le mois en B3.

En PJ

EDIT: j'ai ajouté la condition + la macro dans Workbook_Open(), mais je ne sais pas si c'est correct.

Code:
Private Sub Workbook_Open()
Dim i As Integer, k As Integer, c As Range

If Month(Sheets("Tool").Range("B3")) <> Month(Date + 1) Then
With Sheets("Report")
Set c = .Cells.Find(Sheets("Tool").Range("B3"), , LookIn:=xlFormulas, LookAt:=xlWhole)
If Not c Is Nothing Then
For i = 4 To 8
.Cells(i, c.Column) = Sheets("Tool").Cells(i, 3)
Next i
For k = 4 To 8
.Cells(k, c.Column - 1).Copy .Cells(k, c.Column - 1)
Next k
End If
End With
MsgBox "Report éffectué avec succès !", , "TOOLS"
End If
End Sub

Dans le cas ou les nombres sont entiers (non 15.24 par ex.), mais il faut enlever les formules des totaux.

Code:
For i = 4 To 8
.Cells(i, c.Column) = Sheets("Tool").Cells(i, 3) / 100
.Cells(9, c.Column) = .Cells(4, c.Column) + .Cells(5, c.Column) + .Cells(6, c.Column) _
+ .Cells(7, c.Column) + .Cells(8, c.Column)
Next i
'.Cells(9, c.Column) = Application.Sum(.Cells(i, c.Column)) ne fait pas le total bizarrement.



A+ :cool:
 

Pièces jointes

  • Exemple Tableau.xlsm
    27.6 KB · Affichages: 57
  • Exemple Tableau.xlsm
    27.6 KB · Affichages: 49
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote