Bonjour,
Voici mon probl=E8me. J'ai une base de donn=E9e dans un tableau excel. Je
veux ex=E9cuter une macro qui dit de checker la pr=E9sence d'un "X" dans
la 2=E8me colonne et ce d=E8s la troisi=E8me ligne de mon tableau et sur
toutes les lignes suivantes. S'il en trouve un il ne fait rien, mais
s'il le trouve pas il doit cacher la ligne o=F9 le "X" est manquant.
If Cells(ctr + 2, 2) <> "X" Then
Cells(ctr + 2, 2).EntireRow.Hidden =3D True
End If
Next
En faisant ceci =E7a marche, mais je ne fais qu'un hide des lignes, je
voudrais maintenant faire la m=EAme chose en deletant les lignes o=F9 il
n'y a pas de "X".
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
isabelle
bonjour jones,
pour suprimer les lignes il faut commencer par la fin en remontant.
For ctr = nombreligne To 1 Step -1
isabelle
Bonjour, Voici mon problème. J'ai une base de donnée dans un tableau excel. Je veux exécuter une macro qui dit de checker la présence d'un "X" dans la 2ème colonne et ce dès la troisième ligne de mon tableau et sur toutes les lignes suivantes. S'il en trouve un il ne fait rien, mais s'il le trouve pas il doit cacher la ligne où le "X" est manquant.
If Cells(ctr + 2, 2) <> "X" Then Cells(ctr + 2, 2).EntireRow.Hidden = True End If
Next
En faisant ceci ça marche, mais je ne fais qu'un hide des lignes, je voudrais maintenant faire la même chose en deletant les lignes où il n'y a pas de "X".
If Cells(ctr + 2, 2) <> "X" Then Cells(ctr + 2, 2).EntireRow.delete End If
Next
Mais apparemment il se perd dans le calcul des lignes et m'annule des lignes sans tenir compte si le "X" est bien dans la colonne 2.
Comment faire pour que les lignes soient correctement supprimées ?
D'avance merci à la personne qui trouvera une solution.
Bonne journée
bonjour jones,
pour suprimer les lignes il faut commencer par la fin en remontant.
For ctr = nombreligne To 1 Step -1
isabelle
Bonjour,
Voici mon problème. J'ai une base de donnée dans un tableau excel. Je
veux exécuter une macro qui dit de checker la présence d'un "X" dans
la 2ème colonne et ce dès la troisième ligne de mon tableau et sur
toutes les lignes suivantes. S'il en trouve un il ne fait rien, mais
s'il le trouve pas il doit cacher la ligne où le "X" est manquant.
If Cells(ctr + 2, 2) <> "X" Then
Cells(ctr + 2, 2).EntireRow.Hidden = True
End If
Next
En faisant ceci ça marche, mais je ne fais qu'un hide des lignes, je
voudrais maintenant faire la même chose en deletant les lignes où il
n'y a pas de "X".
pour suprimer les lignes il faut commencer par la fin en remontant.
For ctr = nombreligne To 1 Step -1
isabelle
Bonjour, Voici mon problème. J'ai une base de donnée dans un tableau excel. Je veux exécuter une macro qui dit de checker la présence d'un "X" dans la 2ème colonne et ce dès la troisième ligne de mon tableau et sur toutes les lignes suivantes. S'il en trouve un il ne fait rien, mais s'il le trouve pas il doit cacher la ligne où le "X" est manquant.
If Cells(ctr + 2, 2) <> "X" Then Cells(ctr + 2, 2).EntireRow.Hidden = True End If
Next
En faisant ceci ça marche, mais je ne fais qu'un hide des lignes, je voudrais maintenant faire la même chose en deletant les lignes où il n'y a pas de "X".
If Cells(ctr + 2, 2) <> "X" Then Cells(ctr + 2, 2).EntireRow.delete End If
Next
Mais apparemment il se perd dans le calcul des lignes et m'annule des lignes sans tenir compte si le "X" est bien dans la colonne 2.
Comment faire pour que les lignes soient correctement supprimées ?
D'avance merci à la personne qui trouvera une solution.
Bonne journée
Philippe.R
Bonsoir, pour la suppression de lignes, point de salut si on ne part pas du bas ; il faudrait donc adapter ainsi :
nombreligne = Range("A1").CurrentRegion.Rows.Count 'ou bien nombreligne = range("a6543").end(xlup).row en supposant la colonne a comme la plus longue For ctr = nombreligne to 3 step -1
If Cells(ctr, 2) <> "X" Then Cells(ctr, 2).EntireRow.delete End If
Next ctr
-- Avec plaisir Philippe.R "jones" a écrit dans le message de news: Bonjour, Voici mon problème. J'ai une base de donnée dans un tableau excel. Je veux exécuter une macro qui dit de checker la présence d'un "X" dans la 2ème colonne et ce dès la troisième ligne de mon tableau et sur toutes les lignes suivantes. S'il en trouve un il ne fait rien, mais s'il le trouve pas il doit cacher la ligne où le "X" est manquant.
If Cells(ctr + 2, 2) <> "X" Then Cells(ctr + 2, 2).EntireRow.Hidden = True End If
Next
En faisant ceci ça marche, mais je ne fais qu'un hide des lignes, je voudrais maintenant faire la même chose en deletant les lignes où il n'y a pas de "X".
If Cells(ctr + 2, 2) <> "X" Then Cells(ctr + 2, 2).EntireRow.delete End If
Next
Mais apparemment il se perd dans le calcul des lignes et m'annule des lignes sans tenir compte si le "X" est bien dans la colonne 2.
Comment faire pour que les lignes soient correctement supprimées ?
D'avance merci à la personne qui trouvera une solution.
Bonne journée
Bonsoir,
pour la suppression de lignes, point de salut si on ne part pas du bas ; il
faudrait donc adapter ainsi :
nombreligne = Range("A1").CurrentRegion.Rows.Count
'ou bien nombreligne = range("a6543").end(xlup).row en supposant la colonne
a comme la plus longue
For ctr = nombreligne to 3 step -1
If Cells(ctr, 2) <> "X" Then
Cells(ctr, 2).EntireRow.delete
End If
Next ctr
--
Avec plaisir
Philippe.R
"jones" <vba@phoenixphoto.ch> a écrit dans le message de
news:1187964131.111670.124520@r23g2000prd.googlegroups.com...
Bonjour,
Voici mon problème. J'ai une base de donnée dans un tableau excel. Je
veux exécuter une macro qui dit de checker la présence d'un "X" dans
la 2ème colonne et ce dès la troisième ligne de mon tableau et sur
toutes les lignes suivantes. S'il en trouve un il ne fait rien, mais
s'il le trouve pas il doit cacher la ligne où le "X" est manquant.
If Cells(ctr + 2, 2) <> "X" Then
Cells(ctr + 2, 2).EntireRow.Hidden = True
End If
Next
En faisant ceci ça marche, mais je ne fais qu'un hide des lignes, je
voudrais maintenant faire la même chose en deletant les lignes où il
n'y a pas de "X".
Bonsoir, pour la suppression de lignes, point de salut si on ne part pas du bas ; il faudrait donc adapter ainsi :
nombreligne = Range("A1").CurrentRegion.Rows.Count 'ou bien nombreligne = range("a6543").end(xlup).row en supposant la colonne a comme la plus longue For ctr = nombreligne to 3 step -1
If Cells(ctr, 2) <> "X" Then Cells(ctr, 2).EntireRow.delete End If
Next ctr
-- Avec plaisir Philippe.R "jones" a écrit dans le message de news: Bonjour, Voici mon problème. J'ai une base de donnée dans un tableau excel. Je veux exécuter une macro qui dit de checker la présence d'un "X" dans la 2ème colonne et ce dès la troisième ligne de mon tableau et sur toutes les lignes suivantes. S'il en trouve un il ne fait rien, mais s'il le trouve pas il doit cacher la ligne où le "X" est manquant.
If Cells(ctr + 2, 2) <> "X" Then Cells(ctr + 2, 2).EntireRow.Hidden = True End If
Next
En faisant ceci ça marche, mais je ne fais qu'un hide des lignes, je voudrais maintenant faire la même chose en deletant les lignes où il n'y a pas de "X".