dans mon fichier joint
j’ai plusieurs lignes de données avec en index principal la colonne A
si je rempli une cellule de la colonne B C ou D
j’ai besoin que cette nouvelle information soit répétée dans la même colonne dans toutes les lignes comportant la même référence d’index de la colonne A
Je ne voudrais pas abuser mais pourriez vous m’expliquer pas à pas la démarche en détail pour la reproduire en fonction des spécificité d’un autre classeur
Je suis novice !!
merci d’avance
Private Sub Worksheet_Change(ByVal Target As Range)
'DECLARATIONS DES VARIABLES
Dim i%, j%, Dl%
'Inhibe la détection d'evenements pour eviter que ton programme se morde la "queue"
Application.EnableEvents = False
'Variable qui récupère la dernière ligne remplie de la colonne A
Dl = Range("A" & Rows.Count).End(xlUp).Row
'Si une des cellules de la plage B4 à D et la dernière ligne est modifiée alors
If Not Application.Intersect(Target, Range("B4:D" & Dl)) Is Nothing Then
'je boucle sur les cellules de la ligne 4 à la dernière
For i = 4 To Dl
'si la valeur de la cellule de la ligne i colonne A est égale à la valeur de la cellule de la colonne A de la ligne modifiée alors
If Cells(i, 1).Value = Cells(Target.Row, 1).Value Then
'la cellule de la ligne i et colonne modifiée est égale à la valeur de la cellule(target) modifiée
Cells(i, Target.Column).Value = Target.Value
End If
Next i 'Fin de la boucle
End If
'Je remet la détection d'evenements
Application.EnableEvents = True
End Sub
merci beaucoup
et si je veut faire la meme chose dans plusieurs colonne séparée par des colonnes ou rien ne dois bouger mais pas simultanément
c’est a dire recopier dans la colonne B et recopier dans les colonnes U, AA et AB par exemple
les valeurs ne sont recopiées que dans la colonne ou je modifie la valeur
Re,
Teste comme ceci qui và jusqu’à la ligne 1000 en sélection pour l’exemple Joect.xlsm (15,2 Ko)
ou alors avec la dernière ligne de la colonne A remplie
ligne à remplacer par celle-ci
If Not Application.Intersect(Target, Union(Range(Cells(4, "B"), Cells(Dl, "B")), Range(Cells(4, "U"), Cells(Dl, "U")), Range(Cells(4, "AA"), Cells(Dl, "AB")))) Is Nothing Then