Challenge : m'aider en m'apprenant : report de données en fonction date VBA

Rayfils

XLDnaute Nouveau

Bonjour à toutes et à tous.
Plus je traine sur ce site et plus j'aime ! Ce n'est jamais que mon second poste ma la rapidité et la qualité des réponses me scient...

Bref. Je vous explique mon problème.

Je cherche à renvoyer des données d'un tableau à un autre en fonction d'une date que l'on modifie. Pas évident... :D

Le but est de renvoyer des données prévues pour un semestre dans une fiche journalière...

J'ai un exemple "réel" en PJ (avec des noms bidons)

Par ailleurs, j'aimerai bien "apprendre" à faire cette macro afin de pouvoir la reproduire par la suite.

Imaginer, c'est bien - Réaliser, c'est bien - Apprendre, c'est TOP !

Merci par avance.

Amicalement.
 

Pièces jointes

  • Copie de + TOMAHAWK.zip
    12.5 KB · Affichages: 34

ROGER2327

XLDnaute Barbatruc
Re : Challenge : m'aider en m'apprenant : report de données en fonction date VBA

Bonjour Rayfils
Question préalable : il y a des doublons dans la plage ORIGINE!A6:A100 ; est-ce délibéré, ou bien est-ce seulement fortuit dans le classeur d'essai ?
La question est importante car, le cas échéant, que choisir pour azsd :
azsd 1 CA ?
azsd 0 0 ?
ROGER2327
#2552
 

job75

XLDnaute Barbatruc
Re : Challenge : m'aider en m'apprenant : report de données en fonction date VBA

Bonjour Rayfils, salut Roger,

Concernant les doublons, il me semble que ça n'a pas d'importance : la plage A6:A100 de la feuille MATORI reproduit exactement celle de la feuille ORIGINE.

C'est par erreur je pense que Rayfils utilisait la fonction RECHERCHEV.

Sur aussi peu de cellules, ce serait une hérésie d'utiliser une macro.

La formule en B6 de la feuille MATORI :

Code:
=INDEX(ORIGINE!$A:$BS;LIGNE();EQUIV($A$2;ORIGINE!$3:$3;0)+COLONNE())&""

A tirer en C6 et vers le bas.

Noter les 2 MFC de la feuille MATORI (bordure et motifs).

A+
 

Pièces jointes

  • Copie de + TOMAHAWK(1).zip
    10.7 KB · Affichages: 37
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : Challenge : m'aider en m'apprenant : report de données en fonction date VBA

Re...
Alors allons-y pour l'hérésie !

J'adore çà !
Code pour la feuille MATORI
Code:
[COLOR="DarkSlateGray"][B]Option Explicit

Private Sub Worksheet_Activate()
   tutu
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
   If Not Intersect(Target, Me.Range("A2,A6:A100")) Is Nothing Then tutu
End Sub

Private Sub tutu()
Dim tmp As Object, l As Long, oCel As Range
   With Sheets("ORIGINE")
      Set tmp = .Rows(3).Find(What:=Me.Range("A2").Value, lookat:=xlWhole)
      If Not tmp Is Nothing Then
         l = tmp.Column
         With Application: .ScreenUpdating = True: .Calculation = xlCalculationManual: End With
         Me.Range("B6:C100").ClearContents
         For Each oCel In Me.Range("A6:A100").Cells
            If Not IsEmpty(oCel) Then
               Set tmp = .Range("A6:A100").Find(What:=oCel.Value, lookat:=xlWhole)
               If Not tmp Is Nothing Then Me.Cells(oCel.Row, 2).Resize(1, 2).Value = .Cells(tmp.Row, l + 2).Resize(1, 2).Value
            End If
         Next oCel
         Set tmp = Nothing
         With Application: .Calculation = xlCalculationAutomatic: .ScreenUpdating = False: End With
      End If
   End With
End Sub[/B][/COLOR]
ROGER2327
#2553
 

Pièces jointes

  • Copie de copie de + TOMAHAWK(1).zip
    9.7 KB · Affichages: 35

Rayfils

XLDnaute Nouveau
Re : Challenge : m'aider en m'apprenant : report de données en fonction date VBA

Bonjour,

Un grand merci à vous deux pour votre travail !

J'ai retenu la fonction index (plus facile de maintenance... au cas où !)

Simplement, une ou deux questions en sus :

J'ai suprimé 2 colonnes entre les "dates" (voir exemple en PJ) [mat/a.m/mat/a.m] et plus [mat/a.m/xx/xx/mat/a.m...] : comment modifier la formule pour qu'elle me prenne bien les bonnes valeurs ?

Par ailleurs, ma plage de recherche comprends toute la feuille ?

Merci par avance.

Cordialement.
 

Pièces jointes

  • TOMAHAWK Fonct. Index.zip
    9.8 KB · Affichages: 31

Discussions similaires

Réponses
0
Affichages
239

Membres actuellement en ligne

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz