Suppression d'une ligne en fonction d'une plage

Le
Flac
Bonjour à tous,
Excel 2000
Je cherche une macro qui me permettrait de supprimer chacune des lignes
d'une colonne (A par exemple) en fonction des valeurs d'une plage variable
(établie avec la formule =décaler()
à peu près comme ceci:
Sub supprime()
Pour chacune des cellules de la colonne A,
supprime la ligne si la valeur de la cellule est
différente de l'une des valeurs de la plage
end sub


Merci

Flac
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
Daniel.C
Le #17802741
Bonsoir.
En admettant que ta plage définie s'appelle "Plage" :

Sub supprime()
Dim i As Long
For i = [A65536].End(xlUp).Row To 1 Step -1
If IsNumeric(Application.Match(Cells(i, 1), [Plage], 0)) Then
Rows(i).Delete
End If
Next i
End Sub

Cordialement.
Daniel

Bonjour à tous,
Excel 2000
Je cherche une macro qui me permettrait de supprimer chacune des lignes d'une
colonne (A par exemple) en fonction des valeurs d'une plage variable (établie
avec la formule =décaler()
à peu près comme ceci:
Sub supprime()
Pour chacune des cellules de la colonne A,
supprime la ligne si la valeur de la cellule est
différente de l'une des valeurs de la plage
end sub


Merci

Flac


Flac
Le #17805651
Merci,
La macro fonctionne à moitié seulement. Elle fait le travail tant que je ne
rajoute pas un nouvel élément à ma plage.

J'ai fait des tests, et je m'aperçois que lorsque je rajoute un item à ma
plage, la macro ne tient pas compte du nouvel lément.

Je continue néammoins de voir ce qui ne va pas.

Flac
"Daniel.C"
Bonsoir.
En admettant que ta plage définie s'appelle "Plage" :

Sub supprime()
Dim i As Long
For i = [A65536].End(xlUp).Row To 1 Step -1
If IsNumeric(Application.Match(Cells(i, 1), [Plage], 0)) Then
Rows(i).Delete
End If
Next i
End Sub

Cordialement.
Daniel

Bonjour à tous,
Excel 2000
Je cherche une macro qui me permettrait de supprimer chacune des lignes
d'une colonne (A par exemple) en fonction des valeurs d'une plage
variable (établie avec la formule =décaler()
à peu près comme ceci:
Sub supprime()
Pour chacune des cellules de la colonne A,
supprime la ligne si la valeur de la cellule est
différente de l'une des valeurs de la plage
end sub


Merci

Flac






Daniel.C
Le #17807271
Bonjour.
Le risque, c'est qu'en supprimant une ligne, on supprime un élément de
la plage.
Daniel

Merci,
La macro fonctionne à moitié seulement. Elle fait le travail tant que je ne
rajoute pas un nouvel élément à ma plage.

J'ai fait des tests, et je m'aperçois que lorsque je rajoute un item à ma
plage, la macro ne tient pas compte du nouvel lément.

Je continue néammoins de voir ce qui ne va pas.

Flac
"Daniel.C"
Bonsoir.
En admettant que ta plage définie s'appelle "Plage" :

Sub supprime()
Dim i As Long
For i = [A65536].End(xlUp).Row To 1 Step -1
If IsNumeric(Application.Match(Cells(i, 1), [Plage], 0)) Then
Rows(i).Delete
End If
Next i
End Sub

Cordialement.
Daniel

Bonjour à tous,
Excel 2000
Je cherche une macro qui me permettrait de supprimer chacune des lignes
d'une colonne (A par exemple) en fonction des valeurs d'une plage variable
(établie avec la formule =décaler()
à peu près comme ceci:
Sub supprime()
Pour chacune des cellules de la colonne A,
supprime la ligne si la valeur de la cellule est
différente de l'une des valeurs de la plage
end sub


Merci

Flac








Flac
Le #17810541
Bonjour,
Là n'est pas mon problème. Ce n'est pas le dernier élément de la plage qui
est supprimé.
C'est que la ligne est supprimée même si elle ne devrait pas l'être, étant
donné que la valeur de la cellule "matche"
avec un des éléments de la plage.

À noter que j'ai modifié la macro:
If IsNumeric(Application.Match(Cells(i, 1), [Plage], 0)) Then
est devenu
If not IsNumeric(Application.Match(Cells(i, 1), [Plage], 0)) Then
vu que je veux supprimer la ligne si la valeur de la cellule
ne "matche" pas avec la plage.

Merci

Flac


"Daniel.C" %23YOKjQ%
Bonjour.
Le risque, c'est qu'en supprimant une ligne, on supprime un élément de la
plage.
Daniel

Merci,
La macro fonctionne à moitié seulement. Elle fait le travail tant que je
ne rajoute pas un nouvel élément à ma plage.

J'ai fait des tests, et je m'aperçois que lorsque je rajoute un item à ma
plage, la macro ne tient pas compte du nouvel lément.

Je continue néammoins de voir ce qui ne va pas.

Flac
"Daniel.C"
Bonsoir.
En admettant que ta plage définie s'appelle "Plage" :

Sub supprime()
Dim i As Long
For i = [A65536].End(xlUp).Row To 1 Step -1
If IsNumeric(Application.Match(Cells(i, 1), [Plage], 0)) Then
Rows(i).Delete
End If
Next i
End Sub

Cordialement.
Daniel

Bonjour à tous,
Excel 2000
Je cherche une macro qui me permettrait de supprimer chacune des lignes
d'une colonne (A par exemple) en fonction des valeurs d'une plage
variable (établie avec la formule =décaler()
à peu près comme ceci:
Sub supprime()
Pour chacune des cellules de la colonne A,
supprime la ligne si la valeur de la cellule est
différente de l'une des valeurs de la plage
end sub


Merci

Flac












Flac
Le #17811181
Rebonjour,
Je crois avoir trouvé le problème. C'est que si je rallonge la plage
manuellement, le nouvel item est reconnu et la ligne n'est pas supprimée
(C'est ce que je veux).

Or, pour rallonger ma liste, je le fais en utilisant un userform qui fait le
travail (l'item que je rajoute à la liste doit aussi servir à autre chose,
c'est la raison pour laquelle j'utilise un userform). Dans ce cas, le nouvel
item
n'est pas reconnu, même si ma plage s'est rallongée.

J'utilise donc un TextBox qui a pour nom CAMION (c'est le nom de la
variable)

Auriez-vous quelque chose à me suggérer?

Merci

Flac

"Daniel.C" %23YOKjQ%
Bonjour.
Le risque, c'est qu'en supprimant une ligne, on supprime un élément de la
plage.
Daniel

Merci,
La macro fonctionne à moitié seulement. Elle fait le travail tant que je
ne rajoute pas un nouvel élément à ma plage.

J'ai fait des tests, et je m'aperçois que lorsque je rajoute un item à ma
plage, la macro ne tient pas compte du nouvel lément.

Je continue néammoins de voir ce qui ne va pas.

Flac
"Daniel.C"
Bonsoir.
En admettant que ta plage définie s'appelle "Plage" :

Sub supprime()
Dim i As Long
For i = [A65536].End(xlUp).Row To 1 Step -1
If IsNumeric(Application.Match(Cells(i, 1), [Plage], 0)) Then
Rows(i).Delete
End If
Next i
End Sub

Cordialement.
Daniel

Bonjour à tous,
Excel 2000
Je cherche une macro qui me permettrait de supprimer chacune des lignes
d'une colonne (A par exemple) en fonction des valeurs d'une plage
variable (établie avec la formule =décaler()
à peu près comme ceci:
Sub supprime()
Pour chacune des cellules de la colonne A,
supprime la ligne si la valeur de la cellule est
différente de l'une des valeurs de la plage
end sub


Merci

Flac












Publicité
Poster une réponse
Anonyme