Récupération de données et manipulation automatique dans un classeur bilan

Bonjour,

Ayant essayer plusieurs combinaisons pour résoudre mon problème, j'espère pouvoir de l'aide sur ce forum.

Mon soucis est (en gros) le suivant:

J'ai à disposition plusieurs classeurs de données Classeur 1 et Classeur 3 (tous deux du même format), et un classeur "bilan" (le Classeur 2).

1) Je cherche donc d'abord à obtenir dans le Classeur 2, la moyenne des temps 1 du Classeur 1 distinctement pour Roissy et Orly pour le mois de la date en A2 dans le Classeur 2.

2) Je souhaite ensuite avoir dans le Classeur 2, l'évolution de ce temps 1 par rapport au mois précédent le mois de la date en A2 dans le Classeur 2.

Bien entendu, si nous sommes en Janvier, les cellules E2 et E3 du classeur 2 restent vides.

3) Je cherche à faire de même avec un Classeur 3, pour compléter les cellules F2:G3 du Classeur 2.

4) Enfin, en cliquant sur le bouton "Mettre à jour" du Classeur 2, j'aimerais que la date en A2 soit mise à la date du jour et que les données du classeur soient également mises à jour en fonction de cette date.

(Bien que le cellule A2 puisse être modifiée manuellement, le bouton lui ne pourra pas être cliquer avant le 28 de chaque mois).

J'espère avoir été assez claire et vous remercie d'avance pour votre aide.

7classeur1.xlsx (10.64 Ko)
8classeur2.xlsx (10.01 Ko)
7classeur3.xlsx (10.67 Ko)

Bonjour,

Pour faire suite à mon 1er message, ci-dessous mes premiers travaux sur le Classeur 2, où j'ai copié les données du Classeur 1 pour simplifier.

Je bloque dans le calcul des moyennes des temps, en fonction du mois et le renvoie du résultat dans les cellules correspondantes.

De l'aide s'il vous plaît.

Option Explicit Sub Moyenne_temps() Dim Cel As Range Dim Ligne As Long, Colonne As Integer, Nb As Integer, TotalLab As Date Dim F1 As Worksheet, F2 As Worksheet Set F1 = Sheets("Data") Set F2 = Sheets("Feuil1") F2.Range("D2:G3").ClearContents Application.ScreenUpdating = False With F2 'Sur la Feuil1 For Ligne = 2 To 3 ' Pour toutes les destinations ' On cherche dans la colonne B de la feuille "Data" la destination Set Cel = F1.Columns("B").Find(what:=.Range("C" & Ligne), LookIn:=xlValues, lookat:=xlWhole) If Not Cel Is Nothing Then Ligne = Cel.Row 'On note sa ligne Nb = 0: TotalLab = "00:00:00" If Month(F1.Columns("A")) = Month(Now) Then Nb = Nb + 1 'Incrémente le nombre de temps TotalLab = TotalLab + F1.Cells("C").Value 'Additionne les temps .Range(Ligne) = TotalLab / Nb 'Fait la moyenne et le note dans la case correspondante End If End If ' Message si destination n'est pas trouvee MsgBox "Destination " & .Range("B" & Ligne) & " introuvable dans la feuille " & F1.Name Next Ligne End With Range("A2").Value = Date 'La date est mise à jour Application.Goto Reference:="Moyenne_temps" End Sub

4classeur2.xlsm (20.02 Ko)

Bonjour,

Une proposition TCD sans VBA !?

Cdlt.

7classeur2.xlsm (25.46 Ko)

Bonjour Jean-Eric,

Merci pour ta contribution, j'avais pas pensé au TCD.

Le soucis est que je dois récupérer les données dans plusieurs classeurs...

Cdlt.

Rechercher des sujets similaires à "recuperation donnees manipulation automatique classeur bilan"