Bonjour à tous,
Mon projet: je veux écrire une fonction qui en fonction du contenu de la cellule supprime ou non la ligne. Les lignes à garder sont celle dont la valeur de la cellule dans la colonne A commence par 13 ou 16 ou 29 ... (voir dans le code ci dessous), le nombre de cas à garder étant exhaustif. Les lignes à supprimer sont donc celle qui ne répondent pas à ces critères.
En résumé, je veux inspecter la valeur de la Cellule A de la ligne (pour être précis seuls les 2 premiers chiffres suffisent) afin de déterminer si la ligne doit être supprimée ou non. Je précise que le contenu de la colonne A est un nombre stocké sous forme de texte.
Voilà ce que j'ai fait:
Le problème c'est tout simplement que ça foire ! Après l'éxécution de la macro il me reste encore des lignes non désirées (dont la valeur dans la cellule A commence par 10 par exemple ou même par des lettres) et je suis quasi sur que des lignes que je dois garder sont supprimées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Sub SuppLigneCondition() Dim vCellule As Range Dim vCol As Range Dim vCode As String Set vCol = Range("A4:A" & Range("A65536").End(xlUp).Row) For Each vCellule In vCol vCode = Left(vCellule.Value, 2) Select Case vCode Case "13" Case "16" Case "29" Case "30" Case "37" Case "42" Case "58" Case "62" Case "65" Case "72" Case Else vCellule.EntireRow.Delete End Select Next vCellule End Sub
Je ne sais pas s'il s'agit d'une erreur de syntaxe ou d'une mauvaise utilisation de select case.
Merci de m'aider à résoudre ce mystère !
Partager