• Initiateur de la discussion Initiateur de la discussion tom
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

tom

Guest
Je voudrais supprimer des lignes d un tableau en fonction d une valeur ds 1 colonne (en gros si il y a 1 ds la colonne on supprime la ligne correspondante)
Est ce que ca ressemble a ca :

Sub BoucleFor()
Dim Ligne As Byte
For Ligne = 1 To 50
If Range(O3).Value = a Then
Selection.Delete Shift:=xlUp
NextFor Ligne
End Sub

Merci de votre aide
 
Je ne sais pas mais en tout les cas en voici un qui fonctionne

Dim cellule As Range
Range("a1:a10").Select
For Each cellule In Selection
If cellule.Value = "1" Then
cellule.Select
Selection.EntireRow.Delete
End If
Next

End Sub


GC
 
Re le forum
Rebonjour GC & tom

Merci GC. Je n'ai fais qu'appliquer ce que les grands de ce forum partagent avec nous. Comme cela t'intéresse, je t'ai mis en fichier le complément très très intéressant de notre serviteur dévoué Thierry. Bonne lecture.
@ ++ Eric C
 

Pièces jointes

votre dévoué serviteur

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Num As Long
Dim Check As String
Check = Target.Value

If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then
If Check = 1 Then
Application.EnableEvents = False
Num = Target.Row
Rows(Num).Delete
Application.EnableEvents = True
End If
End If
End Sub

Pour éviter le Bug de Salim...
Bonne Soirée
@+Thierry
 
Re Bonjour le forum
Re bonjour tom, GC, Bonjour Salim & Thierry

Devoloppé sous EXCEL 97 (Oui je sais Thierry, je suis les posts même si je ne peux plus me connecter comme avant ...).
Merci de la rectification.
@ ++ Eric C
 
Re le Fil et le Forum

J'ai excel 2002 pour information enfin c'est ce qui est indiquer sur la fiche produit. moi j'ai rajouter ça

If Intersect(Target, Range("a:a")).Value = 1 Then

Après la 1ère ligne d'Eric C et ça marche je sais pas si ça respecte les règles de l'art mais bon "ça marche".

@+ Salim
 
Bonsoir Tom et tous les gentils forumeurs

Pour un débutant, il va devoir se décarcasser pour tout assimiler hi hi
Une nouvelle syntaxe que j'ai découverte et qui est pas mal aussi !

Sub SuppLignes()
Dim Mot As Range
étiq:
Set Mot = Range("A:A").Find(What:=1)
If Mot Is Nothing Then Exit Sub
Mot.EntireRow.Delete
GoTo étiq
End Sub

Cordialement

Bernard
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
534
Réponses
3
Affichages
265
Réponses
5
Affichages
715
Réponses
8
Affichages
652
Réponses
5
Affichages
479
Retour