XL 2016 [VBA] Macro INDEX/EQUIV d'une partie d'un tableau à l'autre

GTT-76

XLDnaute Nouveau
Bonjour à toutes & à tous ! 😄
Bonne année et bonne santé, que 2022 soit bien meilleure que 2021...

Voici mon problème.
J'ai un fichier de pointage pour des employés, rempli par le chef d'atelier.
Une liste de noms dans la première colonne, puis plusieurs colonnes de tanches horaires.
J'aurais besoin de récupérer ces données dans un autre tableau, qui comporte aussi d'autres employés.
J'ai pensé à la fonction INDEX/EQUIV mais je n'arrive pas à la transposer an VBA.
En PJ, mon fichier test, si ça peut aider.
Merci de vos éclairages. :)
 

Pièces jointes

  • Pointage_partiel.xlsm
    9.1 KB · Affichages: 7

GTT-76

XLDnaute Nouveau
Bonjour et merci de cette réponse rapide ! :D
Je regarderai ça plus en détail ce soir mais j'ai déjà une question :
A quoi correspond le symbole % dans le codage du Dim ?
Car j'ai souvent codé en écrivant par exemple :
VB:
Dim DL As 'Range, Long, etc
Mais jamais avec des symboles comme %.
Merci.
 

GTT-76

XLDnaute Nouveau
🤣
D'accord, je comprends mieux.
J'avoue que je préfère quand tout est bien détaillé, quitte à ce que ce soit plus long, car j'arrive mieux à lire et comprendre le code.
Maintenant que je sais ça, je ne serai plus surpris.
Merci pour l'explication. ;)
 

GTT-76

XLDnaute Nouveau
Re,
Ca fonctionne parfaitement, merci !
Néanmoins, en voulant l'adapter à mon fichier, et comme j'avais omis de parler d'un autre détail, je rencontre un autre problème.
En effet, si je voulais pouvoir faire cette manip pour chaque jour mais à partir du même tableau source, qui changerait chaque jour, je suis coincé...:eek:
J'ai mis le fichier modifié en PJ pour visu du résultat souhaité.
Merci beaucoup...
 

Pièces jointes

  • Copie de Pointage_partiel 2.xlsm
    17.3 KB · Affichages: 1

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Il suffit de trouver l'offset où coller dans le tableau, avec :
VB:
    Colonne = Application.Match(Sheets("Feuil1").[C1], [1:1], 0) ' Recherche de la date courante
    If IsError(Colonne) Then Exit Sub   ' On sort car date non trouvée
Puis de décaler le collage avec :
Code:
For C = 3 To 6
   Cells(L, Colonne + C - 3) = .Cells(Ligne, C)
Next C
 

Pièces jointes

  • Copie de Pointage_partiel 2.xlsm
    16.6 KB · Affichages: 5

Discussions similaires

Statistiques des forums

Discussions
312 023
Messages
2 084 716
Membres
102 637
dernier inscrit
TOTO33000