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.

3 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    bonjour

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

    bonne suite
    0
  2. 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
    1. Lentz
       
      La colonne horizontale .. ?! Oo
      0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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