Microsoft 365 modifier un code

MICHAEL

XLDnaute Occasionnel
Bonjour,
voici le code que je souhaiterais adapter.
ce code copie des valeurs une fois que je rentre une valeur en D1.
Or, je souhaiterais, APRES que D1 soit selectionné, ajouter des valeurs en F5, G5,K5
Et que celles-ci soient recopier dans la ligne correspondante et soient
memorisées une fois F5 G5 K5 soient effacées.

je vous remercie de votre aide


Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cel As Range
If Target.Address = "$D$1" Then
Set Cel = [d6:d125].Find(Target.Value)
If Cel Is Nothing Then Exit Sub
Cel(1, 3).Value = [F5].Value
Cel(1, 4).Value = [G5].Value
Cel(1, 8).Value = [K5].Value
[E5:K5].ClearContents
End If
End Sub
 

Pièces jointes

  • Nouveau Feuille de calcul Microsoft Excel.xlsm
    43.4 KB · Affichages: 6
Dernière édition:

Dranreb

XLDnaute Barbatruc
Toujours aussi incompréhensible.
Voulez vous dire que c'est plutôt quand vous renseignez manuellement une des cellules F5, G5 ou K5 que vous voulez qu'elle soit transférée dans la même colonne de la ligne désignée par la cellule D1, qui forcément ne peut alors plus être sélectionnée ?
Comme ceci alors :
VB:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
   Dim L As Long
   If Intersect(Me.[F5,G5,K5], Target) Is Nothing Then Exit Sub
   On Error Resume Next
   L = WorksheetFunction.Match([D1], [D6:D125], 0) + 5
   If Err Then Exit Sub
   Application.EnableEvents = False
   Intersect(Me.Rows(L), Target.EntireColumn).Value = Target.Value
   Target.Value = Empty
   Application.EnableEvents = True
   End Sub
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
179

Statistiques des forums

Discussions
312 534
Messages
2 089 386
Membres
104 152
dernier inscrit
sabalex