Lier 2 cellules afin qu'elles restent identiques - VBA (Urgent)
Fermé
SebLkp
-
31 mai 2017 à 11:30
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 1 juin 2017 à 07:49
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 1 juin 2017 à 07:49
A voir également:
- Lier 2 cellules afin qu'elles restent identiques - VBA (Urgent)
- Formule excel pour additionner plusieurs cellules - Guide
- Fusionner 2 cellules excel - Guide
- Verrouiller cellules excel - Guide
- Excel compter cellule couleur sans vba - Guide
- 2 ecran pc - Guide
4 réponses
Bonjour,
Merci beaucoup pour ta réponse !
Comme tu l'a suggéré, mes 8 paramètres se situent sur une même colonne dans la feuille 1 => Parfait.
Cependant dans ma feuille 2, les paramètres ne sont pas du tout organisés de la même manière et varient de colonne ET de ligne pour presque chacune d'entre elles...
En fait il me faudrait J7 lié à D13, J8 à D14, J9 à D7, J14 à N20, J15 à N22....
Je pensais à répéter 8 fois ton code dans la maccro, en changeant :
Set pl = Intersect(Target, [J7])
Pour ne préciser qu'une seule case, qui renverrait à une seule case dans ma deuxième feuille, et répéter l'opération 8 fois avec différentes correspondances...
Comment dois-je modifier la ligne
Sheets("Feuill2").Range(c.Address).Value = Target
Afin qu'il ne renvoit pas à Address mais à une autre cellule ?
Sheets("Feuill2").Range(c."D13").Value = Target
C'est correct ?
Merci beaucoup pour ton aide.
Sébastien
Merci beaucoup pour ta réponse !
Comme tu l'a suggéré, mes 8 paramètres se situent sur une même colonne dans la feuille 1 => Parfait.
Cependant dans ma feuille 2, les paramètres ne sont pas du tout organisés de la même manière et varient de colonne ET de ligne pour presque chacune d'entre elles...
En fait il me faudrait J7 lié à D13, J8 à D14, J9 à D7, J14 à N20, J15 à N22....
Je pensais à répéter 8 fois ton code dans la maccro, en changeant :
Set pl = Intersect(Target, [J7])
Pour ne préciser qu'une seule case, qui renverrait à une seule case dans ma deuxième feuille, et répéter l'opération 8 fois avec différentes correspondances...
Comment dois-je modifier la ligne
Sheets("Feuill2").Range(c.Address).Value = Target
Afin qu'il ne renvoit pas à Address mais à une autre cellule ?
Sheets("Feuill2").Range(c."D13").Value = Target
C'est correct ?
Merci beaucoup pour ton aide.
Sébastien
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
31 mai 2017 à 11:42
31 mai 2017 à 11:42
Bonjour
réponse certainement idiote:
pourquoi ne pas mettre la feuille 2 en "veryhidden" (très cachée) ou protéger en écriture la zone sensible ?
réponse certainement idiote:
pourquoi ne pas mettre la feuille 2 en "veryhidden" (très cachée) ou protéger en écriture la zone sensible ?
Bonjour,
Merci pour votre réponse.
Le fait est que la Feuille 1 va être utile pour un certain type d'utilisateurs qui va vouloir aller à l'essentiel, avec seulement 8 paramètres.
Afin d'être plus précis, certains utilisateurs vont vouloir rentrer plus dans le détail et utiliser la Feuille 2, qui elle propose environ 40 paramètres dont les 8 présentés sur la Feuille 1.
De ce fait les deux Feuilles doivent rester accessibles...
Sebastien
Merci pour votre réponse.
Le fait est que la Feuille 1 va être utile pour un certain type d'utilisateurs qui va vouloir aller à l'essentiel, avec seulement 8 paramètres.
Afin d'être plus précis, certains utilisateurs vont vouloir rentrer plus dans le détail et utiliser la Feuille 2, qui elle propose environ 40 paramètres dont les 8 présentés sur la Feuille 1.
De ce fait les deux Feuilles doivent rester accessibles...
Sebastien
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
Modifié le 31 mai 2017 à 12:58
Modifié le 31 mai 2017 à 12:58
Bonjour à tous,
michel t'aurais donné la réponse mais comme je suis de passage, dans le module Feuil1 :
idem mais en adaptant dans le module Feuil2
eric
edit : petite évol comme je viens de voir que tu avais 8 cellules :
en les supposant consécutives (et les emplacements identiques).
Sinon remplace [A1:A8] par union([A1:A3],[A10:A14],[A18]) etc
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
michel t'aurais donné la réponse mais comme je suis de passage, dans le module Feuil1 :
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Target.Address = "$A$1" Then Sheets("Feuil2").[A1].Value = Target Application.EnableEvents = True End Sub
idem mais en adaptant dans le module Feuil2
eric
edit : petite évol comme je viens de voir que tu avais 8 cellules :
Private Sub Worksheet_Change(ByVal Target As Range) Dim pl As Range, c As Range Set pl = Intersect(Target, [A1:A8]) If Not pl Is Nothing Then Application.EnableEvents = False For Each c In pl Sheets("Feuil2").Range(c.Address).Value = Target Next c Application.EnableEvents = True End If End Sub
en les supposant consécutives (et les emplacements identiques).
Sinon remplace [A1:A8] par union([A1:A3],[A10:A14],[A18]) etc
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
31 mai 2017 à 15:24
là les valeurs doivent être modifiées une par une. Si un collé d'une plage peut avoir lieu il faut faire un mix entre la pécédente proposition et celle-ci.
eric
1 juin 2017 à 07:49