Recherche de nom et extraction/copie de donnees

bonjour a tous,

j'essaye d'optimiser mon taff au boulot et j'ai besoin de votre aide

j'ai 2 classeurs

* 1 classeur multionglets par annees comprenant un tableau avec des noms et en face des dates de formations effectuées

* un second classeur reprenant la même structure de tableau ( même colonnes concernant les formations ) avec la colonne NOM remplie

je cherche une macro ou vba qui lirait le tableau de classeur 2 sur la colonne NOM et irait parcourir les onglets du classeur 1 a la recherche de ce nom et copierait le contenu des colonnes de formation ( dates ) dans le premier tableau

les dates peuvent être écrasées si elles sont plus vieille de celles recuperees

il y aurait une 100aine de nom a parcourir environ sur 5 onglets pour le moment ( 2014/2015/2016/2017/2018 )

le fichier RECAP Formations est celui qui contient les donnees mise a jour

le fichier RECAP Formations Nuit forum est celui qui contient les noms et sur le quel on doit écrire les donnees recuperees dans RECAP Formations

merci pour votre aide

PS : on peut évacuer le pbm du multi onglet, je le traiterais a la main dans un premier temps, l'automatisation étant nécessaire que sur l'année en cours

PS2 : le fichier contenant les données est un fichier réseau inaccessible a l'écriture, mais je peux le copier tous les mois dans le même dossier que mon tableau pour effectuer la MAJ

Bonjour,

à tester,

Sub test()
Dim wk1 As Workbook, wk2 As Workbook, sh As Worksheet
Dim f As Worksheet
Dim tn As String, tp As String
Set wk2 = Workbooks("RECAP Formations.xlsx")
Set wk1 = Workbooks("RECAP Formations Nuit forum.xlsm")
Set sh = wk1.Sheets("2017")
LasrRow = sh.Cells(Rows.Count, 2).End(xlUp).Row
For i = 2 To LasrRow
  tn = sh.Cells(i, 2)
  tp = sh.Cells(i, 3)
  If tn <> "" Then
   dt = trouve(tn, tp, wk2)
   If dt < sh.Cells(i, 2) Then sh.Cells(i, 2) = dt
  End If
Next
End Sub

Function trouve(nom As String, prenom As String, fichier As Workbook)
Dim f As Worksheet
  With fichier
    For Each f In .Worksheets
      With f
        On Error Resume Next
        addr = .Cells.Find(What:=nom, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Address
           If .Range(addr).Offset(0, 1) = prenom Then
          trouve = .Range(addr).Offset(0, -3)
          End If
      End With
    Next
  End With
End Function

merci de prendre le temps de m'aider

pour voir si j'ai pas fait d'erreur sur la mise en place

j'ai fait inserer module sur le thisworkbook du fichier "RECAP formation nuit"

ensuite execution avec mes 2 fichiers ouverts

--> le script copie actuellement la date d’entrée et remplace/efface la colonne NOM en inscrivant la date d’entrée sur le tableau "RECAP formation nuit" a la place du nom

les dates a capturer et coller sont dans les colonne I a V

( j 'adapterais le fichier NUIT pour avoir le même ordre de colonne que le fichier source )

j'ai corrigé les petites fautes de frappe que j 'ai vu mais même resultat ( lasrRow au lieu de LastRow )

bonjour

salut sabV

je gère les formations de 8 entreprises

sous Excel pour d'entre elles

faire simple pour faire durable

une feuille en colonnes simples :

  • année (si formations pluriannuelles, on fera plusieurs lignes de saisie ! )
  • nom prénom
  • service
  • nom formation
  • domaine formation
  • dates prévisionnelles (format texte pour pouvoir saisir "environ de juin à oct 2018"
  • organisme
  • intitulé de formation
  • décidée Oui/non (colonne très importante)
  • dates réelles
  • Terminé Oui/non (colonne très importante)
  • résultat
  • date validation du résultat en interne
  • qui a validé en interne
  • appréciation du stagiaire

ajoute des colonnes comme : durée, coût, financeur(s) etc.

ça fait breaucoup de colonnes, et au fil des ans des centaines de lignes.

ensuite des TCD pour extraire des données, faire des stats, des bilans, des états de compétences par personne, des KPI, des indicateurs etc.

il est facile de faire un lien avec le tableau de polyvalence

tu auras compris qu'on ne change pas d'onglet chaque année !

bonjour,

merci pour tout ces conseils

seul soucis pour moi c'est que je gère que le personnel de nuit et que je n'ai pas la main sur le premier fichier

d ou ma demande pour extraire les données gérées par quelqu'un d'autre pour faire un tableau "a ma sauce".

j' avis déjà compilé tt les onglets en 1 seul ^^ car sinon c'est trop chiant pour retrouver ses petits !

Rechercher des sujets similaires à "recherche nom extraction copie donnees"