Supprimer une ligne contenant une donnée exacte

Bonjour

J’ai créé, grâce à l’aide de plusieurs membres du forum une macro me permettant de traiter des tableaux bruts contenant des données d’analyses biologiques médicales. Il est fonctionnel sauf sur une des taches.

Je dois supprimer certaines lignes inutiles :

Supprimer la ligne présentant la donnée GRS en colonne1 et la ligne avec CALCIUM en colonne 1:

Dim I As Integer

If Not Cells(I, 1).Find("GRS") Is Nothing Then Rows(I).Delete

'If Not Cells(I, 2).Find("CALCIUM") Is Nothing Then Rows(I).Delete

Cela fonctionne bien pour GRS mais j’ai plusieurs lignes contenant la chaine de caractère CALCIUM (CALCIUM, calcium mmol/l, CALCIUM CORRIGE, CALCIUM CORRIGE calcul). Toutes celles contenant CALCIUM sont supprimées et je ne souhaite supprimer que la ligne contenant exactement et uniquement CALCIUM.

J’ai modifié le code comme cela :

Dim I As Integer

If Not Cells(I, 1).Find("GRS") Is Nothing Then Rows(I).Delete

If Not Cells(I, 2).Find(What:=CALCIUM, Lookat:=xlWhole) Is Nothing Then Rows(I).Delete

Mais…cela ne fonctionne pas et plus aucune lignes contenant CALCIUM n’est supprimée.

En pièce jointe, le fichier excel contenant la macro.

Merci pour votre aide.

23biodis.zip (17.99 Ko)

Bonjour,

à tester,

If Cells(I, 2) = "CALCIUM" Then Rows(I).Delete

Édit:

attention! sur le fichier transmit il n'y a que la cellule C46 contenant la valeur unique "CALCIUM"

mais le mot est écrit avec un espace à la fin "CALCIUM "

si c'est le cas pour tous:

If Cells(I, 2) = "CALCIUM " Then Rows(I).Delete

C'est parfait ça marche.

Merci

Merci pour ce retour, au plaisir!

pour clôturer le fil, cliquer sur le bouton V vert du post à coté du bouton EDITER, merci!

Rechercher des sujets similaires à "supprimer ligne contenant donnee exacte"