OVH Cloud OVH Cloud

Où est l'erreur?

4 réponses
Avatar
MacBob
Salut à tous

Question très simple à priori. Je désire, au moyen d'une boucle, éliminer
les lignes entières qui contiennent dans la cellule de rang K le terme "1000
Hz"; Voici un extrait de ma procédure:

For Rang2 = Z To 6 Step -1
If Range("K" & Rang2) = "1000 Hz" Then Rows(Rang2).Delete Shift:=xlUp
Next Rang2

Et ça plante. Question de vocabulaire je suppose.

MacBob 8°)))

4 réponses

Avatar
Pierre Fauconnier
Salut

Je pense que l'erreur réside dans la valeur de Z. Quelle est cette valeur à
l'initialisation de la boucle ?


--
Pierre Fauconnier
"C'est lorsqu'il y a un temps mort qu'il faut tuer le temps..." (Le Chat de
Geluck (enfin, je crois...))
(remplacer NOSPAM par pfi pour me répondre. Merci)


---
MacBob wrote:
Salut à tous

Question très simple à priori. Je désire, au moyen d'une boucle,
éliminer les lignes entières qui contiennent dans la cellule de rang
K le terme "1000 Hz"; Voici un extrait de ma procédure:

For Rang2 = Z To 6 Step -1
If Range("K" & Rang2) = "1000 Hz" Then Rows(Rang2).Delete
Shift:=xlUp Next Rang2

Et ça plante. Question de vocabulaire je suppose.

MacBob 8°)))


Avatar
Philippe.R
Bonjour Bernard,
En complément de celle de Pierre, autre piste :

If Range("K" & Rang2).value = "1000 Hz" Then Rows(Rang2).Delete Shift:=xlUp

--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"MacBob" a écrit dans le message de
news:BBADA572.50D5%
Salut à tous

Question très simple à priori. Je désire, au moyen d'une boucle, éliminer
les lignes entières qui contiennent dans la cellule de rang K le terme "1000
Hz"; Voici un extrait de ma procédure:

For Rang2 = Z To 6 Step -1
If Range("K" & Rang2) = "1000 Hz" Then Rows(Rang2).Delete Shift:=xlUp
Next Rang2

Et ça plante. Question de vocabulaire je suppose.

MacBob 8°)))



Avatar
MacBob
Re bonjour (il est rentré des courses).

Réponse à Pierre:

Z = ActiveSheet.UsedRange.Rows.Count

Petit rappel du problème:

For Rang2 = Z To 6 Step -1
If Range("K" & Rang2) = "1000 Hz" Then Rows(Rang2).Delete Shift:=xlUp
Next Rang2

J'ai essayé avec Range("K" & Rang2).Value = "1000 Hz" mais ça ne marche pas
mieux. La boucle tourne sans problème jusqu'au premier 1000 Hz rencontré.
Là, apparemment, il y a un os dans Rows(Rang2).Delete Shift:=xlUp

"Y'a queq' chose qui cloche la d'dans
J'y retourne immédiatement." (aurait dit Boris Vian).

Merci de votre aide passée et à venir.

MacBob 8°)))

Le 11/10/03 13:44, dans uIKCC0#, « Philippe.R »
a écrit :

Bonjour Bernard,
En complément de celle de Pierre, autre piste :

If Range("K" & Rang2).value = "1000 Hz" Then Rows(Rang2).Delete Shift:=xlUp


Avatar
Philippe.R
Bonsoir Bernard (je suis rentré des miennes),

Un test effectué avec ces lignes fonctionne très bien chez moi :

Sub suprow()
Z = ActiveSheet.UsedRange.Rows.Count
For Rang2 = Z To 2 Step -1
If Range("a" & Rang2) = "zaza" Then Rows(Rang2).Delete Shift:=xlUp
Next Rang2
End Sub

J'en déduirais volontiers que c'est du côté du "1000 Hz" qu'il faut chercher : ne serait ce pas, dans
ton classeur, un format de nombre plutôt qu'une chaîne ?
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"MacBob" a écrit dans le message de
news:BBADDC4B.50FD%
Re bonjour (il est rentré des courses).

Réponse à Pierre:

Z = ActiveSheet.UsedRange.Rows.Count

Petit rappel du problème:

For Rang2 = Z To 6 Step -1
If Range("K" & Rang2) = "1000 Hz" Then Rows(Rang2).Delete Shift:=xlUp
Next Rang2

J'ai essayé avec Range("K" & Rang2).Value = "1000 Hz" mais ça ne marche pas
mieux. La boucle tourne sans problème jusqu'au premier 1000 Hz rencontré.
Là, apparemment, il y a un os dans Rows(Rang2).Delete Shift:=xlUp

"Y'a queq' chose qui cloche la d'dans
J'y retourne immédiatement." (aurait dit Boris Vian).

Merci de votre aide passée et à venir.

MacBob 8°)))

Le 11/10/03 13:44, dans uIKCC0#, « Philippe.R »

Bonjour Bernard,
En complément de celle de Pierre, autre piste :

If Range("K" & Rang2).value = "1000 Hz" Then Rows(Rang2).Delete Shift:=xlUp