Lier des cellules dans les deux sens

Fermé
kepex Messages postés 37 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 26 avril 2017 - 31 oct. 2012 à 11:47
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 4 nov. 2012 à 13:18
Bonjour,

J'aimerai lier deux cellules de feuilles différentes en elles (dans les deux sens) en fonction d'un ID

En fait, je récupère (ca je sais le faire) un ID que je met dans une variable id, et j'aimerai que la valeur (par exemple) de ma feuille1-Cellule A1 se synchronise dans ma feuille2-Cellule(ligne id , colone 2) . Et j'aimerai que ca se fasse dans les deux sens, c'est à dire que j'aimerai pouvoir modifier la premiere cellule ou la deuxieme et qu'à chaque fois ca se modifie dans l'autre.

Voilà si vous aviez quelques minutes à me consacrer ! Je bloque sur la partie copier les cellules dans les deux sens, apres ca devrait le faire..

Merci ;)
Alex
A voir également:

4 réponses

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
31 oct. 2012 à 16:26
Bonjour,
Si j'ai bien compris (c'est pas sûr) tu veux Modifier A1 feuil1 et que A1 Feuil2 soit identique mais aussi que tu peux modifier A1 Feuil2 et que A1 feuil1 soit identique.
Si c'est bien ça, par formule ce n'est pas possible (référence circulaire)
En VBA c'est faisable, Tu dis.
A+
0
Il me semblait que ca soit possible j'avais trouvé un bout de code sur Internet :

Private Sub Worksheet_Change(ByVal Target As Excel.Range) 
On Error GoTo fin 
nom = Target.Name.Name 
If InStr(nom, "?") > 0 Then 
nom = Left(nom, InStr(nom, "?")) 
Application.EnableEvents = False 
num = 1 
encor: 
Range(nom & num).Value = Target.Value 
num = num + 1 
GoTo encor 
End If 
fin: 
On Error GoTo 0 
Application.EnableEvents = True 
End Sub 


Le souci, c'est que je n'arrive pas à comprendre comment celà fonctionne, et je ne peux pas l'adapter au fait que la ligne sur laquelle c'est "collé" change en fonction de l'ID..
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 1/11/2012 à 16:18
Si tu répondais aux questions ce serait mieux.
Par VBA..tu peu modifier A1 dans l'une des trois feuilles c'est retranscrit automatiquement dans les cellules A1 des autre feuilles.
Un classeur démo
A+
EDIT :
Une version simplifiée

Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
0
kepex Messages postés 37 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 26 avril 2017
Modifié par kepex le 2/11/2012 à 12:04
Oui désolé j'ai pas répondu à ta question au fait.. Regarde sur le fichier Excel joint, j'y explique tout !
Merci

PS : Merci pour les deux fichiers que tu m'as envoyé mais comme tu le comprendras en ragardant le fichier joint, ce n'est pas exactement ce que je veux.. Merci encore

http://dl.free.fr/getfile.pl?file=/fOv5hmIa
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
3 nov. 2012 à 11:15
Re,
Copie le code ci-dessous dans un module général (Module1) et lier au bouton "Enrégistrer"
 Sub Recopier()
Dim Lig As Long, i As Byte
Dim Wks As Worksheet
    Set Wks = Sheets("BDD Stockage")
    With Sheets("NouvelleEntrée")
        Lig = .[A2].Value + 1
        Wks.Range(Cells(Lig, "E"), Cells(Lig, "J")).Value = .[B4:G4].Value
        Wks.Range(Cells(Lig, "K"), Cells(Lig, "M")).Value = .[B6:D6].Value
        Wks.Cells(Lig, "N") = .[G6]
        For i = 0 To 3
            Wks.Cells(Lig, "O").Offset(, i).Value = .Cells(7, "B").Offset(i).Value
        Next i
    End With
End Sub

A+
0
kepex Messages postés 37 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 26 avril 2017
4 nov. 2012 à 11:42
Merci de ta réponse ! Le code est correct je suppose mais j'ai un souci lorsque j'execute la Macro : 'La méthode Range de l'objet Worksheet a échouée"...

Et le souci, c'est que ca copie dans un sens lorsque "j'enregistre", mais mon tableau de nouvelle entrée ne reprend pas les valeurs de la base de donnée losque je change de ID. J'aimerai aussi pouvoir avoir l'apercu de ma base de donnée quand je selectionne un ID, et pouvoir le remodifier..

Merci beaucoup !
Alex
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 4/11/2012 à 13:19
Effectivement, ça fonctionne pas !!
Fichier tester
Test déjà cette version, je vois pour ajouter le retour de la feuille BDD
A+

Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
0