Variable non définie

Bonjour

je fais un tri pour éliminer des lignes dans un tableau

j'ai donc cette macro :

Sub SuppressionLignesCle()
   a = [A2:D7].Value
   Dim tmp(): ReDim tmp(1 To UBound(a))
   For i = LBound(a) To UBound(a)
     If a(i, 3) <> "Issy" Then n = n + 1: tmp(n) = i
   Next
   ReDim Preserve tmp(1 To n)
   a = Application.Index(a, Application.Transpose(tmp), _
      Application.Transpose(Evaluate("Row(1:" & UBound(a, 2) & ")")))
  [g2].Resize(UBound(a), UBound(a, 2)) = a
End Sub

je l'ai adapté à mon classeur mais j'aimerais éliminer les lignes qui contiennent les références commençant par 5; j'ai donc remplacer "Issy" par "5???????" mais ça ne marche pas ; idem pour "5*" ou "5" & "*". Le filtre ne s'applique pas.

Comment faire pour que ça marche ??

Merci pour votre réponse.

Alain

Bonjour,

Pour utiliser une comparaison partielle (avec des caractères génériques), il faut utiliser like :

Sub SuppressionLignesCle()
   a = [A2:D7].Value
   Dim tmp(): ReDim tmp(1 To UBound(a))
   For i = LBound(a) To UBound(a)
     If Not a(i, 3) Like "5*" Then n = n + 1: tmp(n) = i
   Next
   ReDim Preserve tmp(1 To n)
   a = Application.Index(a, Application.Transpose(tmp), _
      Application.Transpose(Evaluate("Row(1:" & UBound(a, 2) & ")")))
  [g2].Resize(UBound(a), UBound(a, 2)) = a
End Sub

Bonjour

MERCI , ça marche

ce n'était pas grand chose mais il fallait le savoir

Bonne journée ..

Alain

Bonjour

MERCI , ça marche

ce n'était pas grand chose mais il fallait le savoir

Bonne journée ..

Alain

Merci du retour et d'avoir indiqué le sujet comme résolu.

Oui, ce n'est pas forcément instinctif cet opérateur "like"...

Rechercher des sujets similaires à "variable definie"