Macro pour remplir une cellule en fonction d'une autre

Bonjour,

Avant tout je suis désolé de reposer cette question qui semblera probablement évidente pour les expert de VBA... Moi je n'en suis pas un et je récupère des bouts de code pour faire mes matrices.

Voilà mon problème: en colonne E j'ai une liste déroulante avec MAJ, Annulation, Effectué, En attente, En attente de Signature, Non-fait et Vérification, j'aimerai que dès lors qu'est sélectionné "Effectué" en E la date soit automatiquement rentré en F dans la cellule à côté. J'ai récupéré le code du message précédent que j'ai modifié... ça risque de vous sembler catastrophique:

Private Sub Worksheet (ByVal Target As Excel.Range)

'MAcro Dan pour Krakousska

If Not Intersect(Target, [E1:E6000]) Is Nothing Then

Select Case Target

Case Effectué

Cells(1, 1) = Cells(1, 2)

Case Else

Cells(1, 2) = Now

End Select

End If

End Sub

D'avance merci de votre aide.

Edit Dan : créé nouveau message

Bonjour,

Essaie plutot comme ceci :

Dim ok As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
'MAcro Dan
If ok Then Exit Sub
If Not Intersect(Target, Range("E1:E6000")) Is Nothing Then
ok = True
Select Case Target
    Case Is = "Effectué": Cells(Target.Row, 6) = Now
End Select
End If
ok = False
End Sub

Code à coller dans la feuille concernée.

Tu peux adapter le 6000 au nombre maximum de ligne que tu as dans ta feuille

Si ta demande est solutionnée, clique sur le V vert à coté du bouton EDITER lors de ta réponse afin de cloturer le fil

Amicalement

J'ai un message : Nom ambigu détecté Worksheet_change. Dois-je le modifier?

D'avance merci

Re,

colle bien le code au bon endroit

  • Clique droite sur l'onglet concerné par la macro
  • Choisis "visualiser le code"
  • colle le code que je t'ai donné

Attention que tu ne dois avoir qu'une seule fois la macro Private sub Worksheet_change à cet endroit. C'est probablement la source du message d'erreur qui t'est renvoyé

Amicalement

Rechercher des sujets similaires à "macro remplir fonction"