lier deux classeurs différents via une macro vba

aissaoui

XLDnaute Nouveau
bonjour,
je suis censé de réaliser une application vba sur excel pour mon stage dans une entreprise, ils m'ont demandé d'établir un lien entre deux classeurs différents, de telle façon lorsqu'on saisit dans le premier classeur, les données doivent se coller automatiquement dans le deuxième et quand on modifie la valeur d'une cellule dans le premier classeur cette dernière doit aussi se modifier dans le deuxième classeur sans relancer la macro.
comment faire je suis perdu :(
si quelqu'un a une idée, je suis preneur.
mille fois merci d'avance.
 

Dranreb

XLDnaute Barbatruc
Re : lier deux classeurs différents via une macro vba

Bonsoir.
La question est de savoir si les deux classeurs (dont vous devriez joindre des maquettes simplifiées) peuvent être ouverts en même temps: soit par une seule personne à la fois, soit par 2 personnes différentes.
Cordialement.
 

aissaoui

XLDnaute Nouveau
Re : lier deux classeurs différents via une macro vba

oui, les deux classeurs peuvent être ouverts en même temps sur le même pc avce une seule personne, il s'agit en fait de deux classeurs complémentaires qui se chargent de faire un calcul donné en se basant sur les memes données, donc ils cherchent à faciliter leur tâche en introduisant les données une seule fois dans le premier et ces dernières se collent dans le deuxième classeur en prenant en compte toute modification qui puisse se générer dans le premier classeur sans relancer à nouveau la macro dans le classeur 1, c'est ce point là qui me panique.
merci encore une fois :)
 

aissaoui

XLDnaute Nouveau
Re : lier deux classeurs différents via une macro vba

ci-joint un code type que j'ai étabi pour appréhender un petit peu le problème:
qui copie la cellule A1 du classeur 1 et la colle dans la cellule c20 du classeur 2
mais j'arrive pas à introduire des conditions de relancement automatique de cette macro en cas de modif de A1

Sub majmodifajout()

Workbooks("book1").Worksheets("sheet1").Range("A1").Select
Selection.Copy

On Error Resume Next
Workbooks("book2").Activate
If Err <> 0 Then
Workbooks.Open ("C:\users\aissaoui\desktop\book2.xls")
End If

Workbooks("book2").worksheets("sheet2").Range("C20").Select
Selection.PasteSpecial Paste:=xlPasteValues

ActiveWorkbook.Save

End Sub
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : lier deux classeurs différents via une macro vba

Bonjour.
Ça se fait par une procédure Worksheet_Change dans le module de la feuille. Utilisez les listes déroulantes qui surmontent la fenêtre de code dans les modules objets tels que les feuilles, les userform, les classes.
À +
 

Discussions similaires

Réponses
6
Affichages
438

Statistiques des forums

Discussions
312 672
Messages
2 090 772
Membres
104 662
dernier inscrit
Hurve