Probleme vba et excel

Fermé
noisat - 30 juin 2008 à 10:53
 noisat - 30 juin 2008 à 15:42
Bonjour,

J'ai demandé sur autre forum de l'aide mais je n'arrive pas à avancer dans mon travail.

J'ai besoin de lier certaines cellules dans des feuilles différentes, pour ca j'ai un bout de code mais qui n'est pas adapté à mon probleme.

Voici le code :

<code/>
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error GoTo Err_Workbook_SheetChange
'Déclaration ===============================
Dim F_1 As Worksheet
Dim F_2 As Worksheet
Dim Plg As Range
Dim Cel As Range
'Validité ==================================
If (Sh.Name <> "DATA" And Sh.Name <> "IMP.EXP.") Or _
Intersect(Target, [A1:E9]) Is Nothing _
Then GoTo Sort_Workbook_SheetChange
'MEI =======================================
Application.ScreenUpdating = False
Application.EnableEvents = False
Set F_1 = Sheets("DATA")
Set F_2 = Sheets("IMP.EXP.")
Set Plg = Intersect(Target, [A1:E9])
'Traitement ================================
For Each Cel In Plg
If Sh.Name = F_1.Name Then
F_2.Range(Cel.Address) = Cel
Else
F_1.Range(Cel.Address) = Cel
End If
Next Cel
'Sortie obligatoire ========================
Sort_Workbook_SheetChange:
Application.ScreenUpdating = True
Application.EnableEvents = True
Exit Sub
'Traitement des erreurs =====================
Err_Workbook_SheetChange:
MsgBox Err.Description, vbCritical + vbOKOnly, "ERREUR n°" & Err.Number
Resume Sort_Workbook_SheetChange
End Sub
</code>

Ce que je veux c'est que la cellule "D3" de la feuille "DATA" soit liée à la cellule "B8" de la feuille "IMP.EXP." et que la cellule "N3" de la feuille "DATA" soit liée à la cellule "C8" de la feuille "IMP.EXP." et ansi de suite sur beaucoup de cellules. Ensuite une fois que toutes les cellules qui m'intéresse sont liées, elles sont dispercées dans la feuille "DATA" et sur une seull ligne dans la feuille "IMP.EXP.". Je n'ai plus qu'a copier cette ligne dans une troisième feuille qui me sert de base de donnée" que je nomme "DB".
A voir également:

1 réponse

91dj85 Messages postés 38 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 30 juin 2008 1
30 juin 2008 à 11:36
bonjour, si j'ai bien compris, lier deux cellules pour toi, c'est que je tape un chiffre (ex 123456) dans D3 de DATA, tu veux que B8 de IMP.EXP s'implémente automatiquement avec la même valeur ?

si c le cas je pense que tu veux :

Sheets("IMP.EXP).Cells(8, 2).Formula = "=DATA!$D$3"
Application.ScreenUpdating = True

ainsi lorsque tu changeras la valeur de D3 de DATA alors B8 de IMP.EXP sera changée automatiquement

en espérant avoir répondu a ta question


------------------------------------------------------------------------------------------­----------------------
Création de site internet - Analyse et Développement de systèmes informatiques
https://www.itactiv.fr/ / http://www.itactiv.com
0
oui c ca mais je voudrais la liaison dans les 2 sens. Le but étant de pouvoir copier une ligne déjà enregistrée dans "DB" dans la feuille "IMP.EXP." sur la 8 ieme ligne et comme les feuilles "DATA" et "IMP.EXP." sont liées, la feuille "DATA" sera à jour des données qui m'intéresse.

Me suis-je bien exprimé ?

cf: https://www.developpez.net/forums/d577027/logiciels/microsoft-office/excel/macros-vba-excel/lier-cellules-sens/

Merci de ton aide.
0