BAUHAUS44
Messages postés50Date d'inscriptionsamedi 19 août 2006StatutMembreDernière intervention17 juillet 2010
-
18 mai 2007 à 14:15
BAUHAUS44
Messages postés50Date d'inscriptionsamedi 19 août 2006StatutMembreDernière intervention17 juillet 2010
-
20 mai 2007 à 10:40
Bonjour,
Je suis entrain de créer une macro pour l’utiliser sur un fichier excel. Je fais rechercher dans ce fichier, via la macro, un texte (TOTO par exemple) dans une colonne donnée (la 1 par exemple), des lignes 2 à 49. Lorsque la macro trouve ce texte, elle me met « OK » dans la colonne 2 de la ligne contenant le texte. Pour cela j’utilise la programmation suivante :
Worksheets("Feuil1").Select
For i = 2 To 49 Step 1
If Cells(i, 1).Value - "TOTO" Then
Cells(i, 2).Value = "OK"
End If
Next i
Lorsque je veux faire la même chose, sauf que cette fois-ci je veux non plus écrire OK mais sélectionner la ligne contenant le texte et la supprimer, comment dois-je m’y prendre ?
Worksheets("Feuil1").Select
For i = 2 To 49 Step 1
If Cells(i, 1).Value - "TOTO" Then
Rows( ??, ??).Select
Selection. Delete
End If
Next i
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 18 mai 2007 à 21:55
Par contre, ton code est faux. Déjà le Step 1, il est par défaut, mais bon, pas génant.
Par contre, vu que la ligne est supprimée, les autres au dessous remonte, et ta boucle s'incrémente de 1, donc à chaque suppresion, tu passeras au travers d'une ligne.
Procède à l'envers (en partant du bas) :
For i = 49 To 2 Step -1
If Cells(i, 1).Value = "TOTO" Then
Rows(i).Delete
End If
Next i
@++
<hr size ="2" width="100%" />
--Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
BAUHAUS44
Messages postés50Date d'inscriptionsamedi 19 août 2006StatutMembreDernière intervention17 juillet 2010 18 mai 2007 à 14:25
Ca sera peut-être plus clair comme ça
Bonjour,
Je suis entrain de créer une macro pour l'utiliser sur un fichier excel. Je fais rechercher dans ce fichier, via la macro, un texte (TOTO par exemple) dans une colonne donnée (la 1 par exemple), des lignes 2 à 49. Lorsque la macro trouve ce texte, elle me met « OK » dans la colonne 2 de la ligne contenant le texte. Pour cela j'utilise la programmation suivante :
Worksheets("Feuil1").Select
For i = 2 To 49 Step 1
If Cells(i, 1).Value = "TOTO" Then
Cells(i, 2).Value = "OK"
End If
Next i
Lorsque je veux faire la même chose, sauf que cette fois-ci je veux non plus écrire OK mais sélectionner la ligne contenant le texte et la supprimer, comment dois-je m'y prendre ?
Worksheets("Feuil1").Select
For i = 2 To 49 Step 1
If Cells(i, 1).Value = "TOTO" Then
Rows( ??, ??).Select
Selection. Delete
End If
Next i