Lien + mise à jour

tonik4 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 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
A voir également:

2 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
Tu connais la fonction recherchev, que tu peux utiliser dans des formules?
0
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
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
Je pense que recherchev est capable d'exploiter les données de plusieurs fichiers.
0
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
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
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