Macro VBA pour supprimer des lignes

Le
Sunburn
Bonjour, j'ai un soucis avec ma macro. elle fonctionnait très bien sous les
versions plus anciennes de mon code, mais là ça bug, je ne comprend pas
pourquoi, je n'ai rien changé.
*** il me met un message " Erreur d'execution 1004, erreur définie par
l'application ou par l'objet", et la ligne "ActiveCell.Offset(-1, 0).Select"
en jaune.
***le code ne met pas de message d'erreur si je met "B1" au lieu de "C1"
Le but est de supprimer les lignes dont la colonne "C" est comprise entre
100000 et 99999999.
Je ne comprend pas pourquoi il fini son travail sur la colone B, car si je
ne garde que le code de sélection, il sélectionne la celulle "C2112", la
dernière cellule acttive de la feuille.

Meric de votre aide, voici mon code

Sub SUPPRIMEBAL()
'Application.ScreenUpdating = False
Sheets("C").Select
Sheets("C").Range("C65535").End(xlUp).Select
Do While ActiveCell.Address <> Range("C1").Address
If ActiveCell > 100000 And ActiveCell < 999999999 Then
ActiveCell.EntireRow.Delete
End If
ActiveCell.Offset(-1, 0).Select
Loop
End Sub
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Péhemme
Le #6613421
Bonjour,,

N'y a-t-il pas une confusion entre une feuille nommée C et la colonne C sur
laquelle tu souhaites appliquer tes instructions ?

Michel

"Sunburn" news:
Bonjour, j'ai un soucis avec ma macro. elle fonctionnait très bien sous
les
versions plus anciennes de mon code, mais là ça bug, je ne comprend pas
pourquoi, je n'ai rien changé.
*** il me met un message " Erreur d'execution 1004, erreur définie par
l'application ou par l'objet", et la ligne "ActiveCell.Offset(-1,
0).Select"
en jaune.
***le code ne met pas de message d'erreur si je met "B1" au lieu de "C1"
Le but est de supprimer les lignes dont la colonne "C" est comprise entre
100000 et 99999999.
Je ne comprend pas pourquoi il fini son travail sur la colone B, car si je
ne garde que le code de sélection, il sélectionne la celulle "C2112", la
dernière cellule acttive de la feuille.

Meric de votre aide, voici mon code
------------------------------------
Sub SUPPRIMEBAL()
'Application.ScreenUpdating = False
Sheets("C").Select
Sheets("C").Range("C65535").End(xlUp).Select
Do While ActiveCell.Address <> Range("C1").Address
If ActiveCell > 100000 And ActiveCell < 999999999 Then
ActiveCell.EntireRow.Delete
End If
ActiveCell.Offset(-1, 0).Select
Loop
End Sub
---------------------------------


Sunburn
Le #6613401
Michel,
ben, je ne vois pas où ça peut se confondre, car j'ai utilisé sheets pour la
feuille et range pour la celule.
Yann


Bonjour,,

N'y a-t-il pas une confusion entre une feuille nommée C et la colonne C sur
laquelle tu souhaites appliquer tes instructions ?

Michel


Jacky
Le #6615011
Bonjour,

Bien que ton code fonctionne chez moi(sans trop approfondir), j'aurais une
préférence pour celui-ci
'-------
Sub SUPPRIMEBAL()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Sheets("C").Activate
For i = Cells(Rows.Count, "c").End(3).Row To 2 Step -1
If Cells(i, 3) > 100000 And Cells(i, 3) < 999999999 Then Rows(i).Delete
Next
Application.Calculation = xlCalculationAutomatic
End Sub

'----------------

--
Salutations
JJ


"Sunburn" news:
Bonjour, j'ai un soucis avec ma macro. elle fonctionnait très bien sous
les
versions plus anciennes de mon code, mais là ça bug, je ne comprend pas
pourquoi, je n'ai rien changé.
*** il me met un message " Erreur d'execution 1004, erreur définie par
l'application ou par l'objet", et la ligne "ActiveCell.Offset(-1,
0).Select"
en jaune.
***le code ne met pas de message d'erreur si je met "B1" au lieu de "C1"
Le but est de supprimer les lignes dont la colonne "C" est comprise entre
100000 et 99999999.
Je ne comprend pas pourquoi il fini son travail sur la colone B, car si je
ne garde que le code de sélection, il sélectionne la celulle "C2112", la
dernière cellule acttive de la feuille.

Meric de votre aide, voici mon code
------------------------------------
Sub SUPPRIMEBAL()
'Application.ScreenUpdating = False
Sheets("C").Select
Sheets("C").Range("C65535").End(xlUp).Select
Do While ActiveCell.Address <> Range("C1").Address
If ActiveCell > 100000 And ActiveCell < 999999999 Then
ActiveCell.EntireRow.Delete
End If
ActiveCell.Offset(-1, 0).Select
Loop
End Sub
---------------------------------


Sunburn
Le #6615001
Je te remercie Jacky, ce code fonctionne nikel bien chez moi aussi.
Merci beaucoup.
Yann


Bonjour,

Bien que ton code fonctionne chez moi(sans trop approfondir), j'aurais une
préférence pour celui-ci
'-------
Sub SUPPRIMEBAL()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Sheets("C").Activate
For i = Cells(Rows.Count, "c").End(3).Row To 2 Step -1
If Cells(i, 3) > 100000 And Cells(i, 3) < 999999999 Then Rows(i).Delete
Next
Application.Calculation = xlCalculationAutomatic
End Sub

'----------------

--
Salutations
JJ


"Sunburn" news:
Bonjour, j'ai un soucis avec ma macro. elle fonctionnait très bien sous
les
versions plus anciennes de mon code, mais là ça bug, je ne comprend pas
pourquoi, je n'ai rien changé.
*** il me met un message " Erreur d'execution 1004, erreur définie par
l'application ou par l'objet", et la ligne "ActiveCell.Offset(-1,
0).Select"
en jaune.
***le code ne met pas de message d'erreur si je met "B1" au lieu de "C1"
Le but est de supprimer les lignes dont la colonne "C" est comprise entre
100000 et 99999999.
Je ne comprend pas pourquoi il fini son travail sur la colone B, car si je
ne garde que le code de sélection, il sélectionne la celulle "C2112", la
dernière cellule acttive de la feuille.

Meric de votre aide, voici mon code
------------------------------------
Sub SUPPRIMEBAL()
'Application.ScreenUpdating = False
Sheets("C").Select
Sheets("C").Range("C65535").End(xlUp).Select
Do While ActiveCell.Address <> Range("C1").Address
If ActiveCell > 100000 And ActiveCell < 999999999 Then
ActiveCell.EntireRow.Delete
End If
ActiveCell.Offset(-1, 0).Select
Loop
End Sub
---------------------------------







Péhemme
Le #6622141
Ce n'était qu'une simple question car ta macro fonctionnait bien chez moi.
Mais je vois avec plaisir que notre ami Jacky (que j'espère revoir bientôt
en Auvergne) t'a donné une réponse qui te convient.
Amicalement
Michel

"Sunburn" news:
Michel,
ben, je ne vois pas où ça peut se confondre, car j'ai utilisé sheets pour
la
feuille et range pour la celule.
Yann


Bonjour,,

N'y a-t-il pas une confusion entre une feuille nommée C et la colonne C
sur
laquelle tu souhaites appliquer tes instructions ?

Michel




Jacky
Le #6624171
Bonjour Michel,

...que j'espère revoir bientôt en Auvergne....


Hélas, 3 fois hélas
J'ai déjà entrepris de faire des travaux aux dates retenues pour cette
aventure.
Je vais tout de même voir si je peux modifier la date des
intervenants.
--
Amicalement
JJ


"Péhemme" %
Ce n'était qu'une simple question car ta macro fonctionnait bien chez moi.

Michel

"Sunburn" news:
Michel,
ben, je ne vois pas où ça peut se confondre, car j'ai utilisé sheets pour
la
feuille et range pour la celule.
Yann


Bonjour,,

N'y a-t-il pas une confusion entre une feuille nommée C et la colonne C
sur
laquelle tu souhaites appliquer tes instructions ?

Michel







Publicité
Poster une réponse
Anonyme