Lien + mise à jour

tonik4 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je travaille sur 2 fichiers excel depuis un moment mais je ne réussi pas à finir ma macro. les 2 tableaux contiennent 4 colonnes:
- les codes client qui sont identiques sur les deux fichiers mais ne se trouvent pas sur la même ligne dans les 2. Je suppose qu'on pourra se baser sur ca pour faire le lien.
- les 2 colonnes que je cherche à actualiser c'est les noms des gérants. Je voudrais que ca se met à jour une fois je change le nom sur le premier fichier.

Pourriez-vous m'aider svp?

merci d'avance

2 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    Tu connais la fonction recherchev, que tu peux utiliser dans des formules?
    0
    1. tonik4 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
       
      les 2 tableaux se trouvent sur 2 fichiers différents donc je ne pourrais pas utiliser la recherchev
      0
    2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      Je pense que recherchev est capable d'exploiter les données de plusieurs fichiers.
      0
  2. tonik4 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
     
    Option Explicit

    Sub tri_company()
    Columns("B:B").Select
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("B2"), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Feuil1").Sort
    .SetRange Range("A2:D520")
    .Header = xlNo
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
    End With
    End Sub

    Sub tri_BCT()
    Columns("A:A").Select
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("A2"), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Feuil1").Sort
    .SetRange Range("A2:D520")
    .Header = xlNo
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
    End With
    End Sub

    Sub miseajour()

    'la macro MiseAJour permettra de mettre à jour, en fonction du code bct,les données extraites du systeme dans un rapport excel.
    'le but étant d'éviter de copier et coller à chaque fois que le bdm ou le rm change

    'Colonne bdm
    Workbooks.Open("\\hld.net\dfs\users\tkhater\desktop\testlistebdm.xlsm").Sheets("feuil1").Range("$C$2").Copy
    Workbooks.Open("\\hld.net\dfs\users\tkhater\desktop\testlisterm.xlsm").Activate
    ActiveSheet.Paste Destination:=Range("$G$2")

    'colonne rm
    Workbooks.Open("\\hld.net\dfs\users\tkhater\desktop\testlistebdm.xlsm").Range("$C$2").Copy
    Workbooks.Open("\\hld.net\dfs\users\tkhater\desktop\testlisterm.xlsm").Activate
    ActiveSheet.Paste Destination:=Range("$E$2")

    With Range("$G$2:$E$2")
    .Font.ColorIndex = 3
    .Font.Size = 8
    .HorizontalAlignment = xlLeft
    End With

    End Sub
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      Suggestion pour éviter d'ouvrir deux fois tes fichiers :
      dim wb_bdm as workbook, wb_rm as workbook
      wb_dbm = _
            Workbooks.Open("\\hld.net\dfs\users\tkhater\desktop\testlistebdm.xlsm")
      wb_rm= _
            Workbooks.Open("\\hld.net\dfs\users\tkhater\desktop\testlisterm.xlsm")
      wb_bdm.Sheets("feuil1").Range("$C$2").Copy _
            wb_rm.Sheets("feuil1").Range("$G$2") 
      0