Vba run-time error 13 type mismatch
mickysor
-
ccm81 Messages postés 11033 Statut Membre -
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.
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
-
bonjour
pourrais tu expliquer ce que ta macro est censée réaliser ?
bonne suite -
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 -
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