Vba run-time error 13 type mismatch

mickysor -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour,
Je suis débutant. j'ai plus ou moins fait une macro qui marche pas trop mal mais malheureusement pour une seule cellule.dés que je veux effacer plusieurs cellules
via macro ou en manuel j'ai un message comme ceci:
vba run-time error 13 type mismatch
lorsque je clique sur debug ceci est souligné:
If Target.Column = 5 And UCase(Target) = "YES" Then

et enfin voici ma macro complete:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 5 And UCase(Target) = "YES" Then
Target.EntireRow.Copy
Sheets("Feuil2").Select
ActiveSheet.Range("A1").Select
ActiveSheet.[A65536].End(xlUp).Select
ActiveCell.Offset(1, 0).Select
Selection.EntireRow.Insert
Sheets("Feuil1").Select
Target.EntireRow.ClearContents

End If
End Sub

merci pour tout aide.

A voir également:

3 réponses

ccm81 Messages postés 11033 Statut Membre 2 433
 
bonjour

pourrais tu expliquer ce que ta macro est censée réaliser ?

bonne suite
0
micky94500
 
la macro doit faire:
si dans la colonne E:E le mot "yes" est inscrit alors déplacer le contenu de la colonne horizontale ou se trouve "yes" dans la "feuil2"

Plus tard je rajouterai d'autres mots clé à déplacer dans d'autres feuilles.
dommage pour l'instant personne n'arrive à résoudre mon problème.snif
0
Lentz
 
La colonne horizontale .. ?! Oo
0
ccm81 Messages postés 11033 Statut Membre 2 433
 
re

peut être quelque chose comme ça

Private Sub Worksheet_Change(ByVal Target As Range) 
Dim li1 As Long, li2 As Long 
  If Not Intersect(Target, Range("E:E")) Is Nothing Then 
    If UCase(Target) = "YES" Then  
      li1 = Target.Row 
      li2 = Sheets("Feuil2").Range("A65536").End(xlUp).Row + 1 
      Sheets("Feuil1").Cells(li1, 1).EntireRow.Copy Sheets("Feuil2").Cells(li2, 1) 
    End If 
  End If 
End Sub

bonne suite
0