code VBA debutant

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
 
G

GC

Guest
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
 
G

GC

Guest
Pas de tout soucis, on a tous débuté un jour...

Je te joins un fichier pour exemple

A+
GC
 

Pièces jointes

  • supprimerlignes.zip
    7.6 KB · Affichages: 10
  • supprimerlignes.zip
    7.6 KB · Affichages: 10
  • supprimerlignes.zip
    7.6 KB · Affichages: 9
E

Eric C

Guest
Bonjour le forum
Bonjour tom, bonjour GC

Plus direct & sans bouton de saisie. Si la valeur "1" est entrée dans la colonne A, la ligne est supprimée. Très intéressant Is Not intersect...

@ ++ Eric C
 

Pièces jointes

  • SuppLignes.zip
    8.8 KB · Affichages: 9
  • SuppLignes.zip
    8.8 KB · Affichages: 9
  • SuppLignes.zip
    8.8 KB · Affichages: 9
E

Eric C

Guest
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

  • Clic.zip
    6.7 KB · Affichages: 13
  • Clic.zip
    6.7 KB · Affichages: 13
  • Clic.zip
    6.7 KB · Affichages: 11
@

@+Thierry

Guest
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
 
E

Eric C

Guest
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
 
S

salim

Guest
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
 
B

Bernard

Guest
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
 

Statistiques des forums

Discussions
312 764
Messages
2 091 870
Membres
105 084
dernier inscrit
lca.pertus