Comment dupliquer automatiquement
M
Bonjour,
J'ai créé un lexique d'acronymes.
Sur la première feuille, ceux sont tous les mots en général, la deuxième feuille, c'est de A à C, la troisième feuille c'est de D à L, etc.
Lorsque je rajoute un mot avec sa définition dans la première feuille, je souhaite savoir si cela peut se rajouter automatiquement dans les feuilles correspondantes ?
Merci beaucoup
Belle journée à vous
g
Bonjour
Un essai à tester. Te convient-il ?
Option Explicit
Dim liste, feuille, f As Worksheet
Dim initiale$, i&, lgn&
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then End
Application.EnableEvents = False
If Not Intersect(Target, Range("B5:C" & Range("B" & Rows.Count).End(xlUp)(2).Row)) Is Nothing Then
If Target.Offset(0, 2) <> "" Then
MsgBox Target.Value & " exsite déjà !", 16
GoTo fin
End If
If Cells(Target.Row, "B").Value = "" Or Cells(Target.Row, "C").Value = "" Then
GoTo fin
End If
liste = Array("A", "B", "C", _
"D", "E", "F", "G", "H", "I", "J", "K", "L", _
"M", "N", "O", "P", "Q", "R", _
"S", "T", "U", "V", "W", "X", "Y", "Z")
feuille = Array("A- C", "A- C", "A- C", _
"D - L", "D - L", "D - L", "D - L", "D - L", "D - L", "D - L", "D - L", "D - L", _
"M -R", "M -R", "M -R", "M -R", "M -R", "M -R", _
"S - Z", "S - Z", "S - Z", "S - Z", "S - Z", "S - Z", "S - Z", "S - Z")
initiale = UCase(Left(Cells(Target.Row, "B"), 1))
For i = 0 To 25
If liste(i) = initiale Then
Set f = Sheets(feuille(i))
Exit For
End If
lgn = f.Range("B" & Rows.Count).End(xlUp)(2).Row
f.Range("B" & lgn) = Cells(Target.Row, "B").Value
f.Range("C" & lgn) = Cells(Target.Row, "C")
Cells(Target.Row, "D") = f.Name
End If
fin:
Application.EnableEvents = True
End SubBye !
M
wahooo, c'est super, Merci beaucoup
belle journée