Effacement de lignes

vedene

XLDnaute Nouveau
Bonjour à tous,


Qui pourrait me donner la solution?

Voici :

Sur excel 2002, j'ai sur une feuille 120 lignes et 20 colonnes.

Chaque cellule de la même ligne est renseignée par une liste de validation différente.

Certaine cellules sont gérées par des formules dont le résultat dépend de la cellule précédente (même ligne).

Si tout va bien pour le "remplissage", il n'en est pas de même si je veux effacer les renseignements de la ligne.
Il me faut faire défiler chaque liste pour sélectionner une case vide.
Fastidieux et "bricolage".

Peux-t-on faire une commande qui remettrait, sans la supprimer, la ligne "à blanc"


Merci pour votre aide:confused:
 

vedene

XLDnaute Nouveau
Re : Effacement de lignes

Re,:)

Je vais essayer de joindre un exemple
Dites moi si vous pouvez l'exploiter

Merci beaucoup
 

Pièces jointes

  • effacement.xls
    17 KB · Affichages: 55
  • effacement.xls
    17 KB · Affichages: 44
  • effacement.xls
    17 KB · Affichages: 43

vedene

XLDnaute Nouveau
Re : Effacement de lignes

Merci cbea,

C'est ce que je voudrais faire, mais ce VBA efface aussi la formule dans les cellules de la colonne "action". Dommage

Mais on en est pas loin;)

Merci aussi à JCGL pour son astuce, c'est pas mal
 
Dernière édition:

jmd2

XLDnaute Accro
Re : Effacement de lignes

hello

une proposition "décalée" genre gestion de bases de données :
ne pas effacer de données
travailler sur 2 zones ou 2 feuilles, un pour créer les novelles données, la seconde lièe à la permière
la seconde possédant un filtrage sur une colonne "masquer" (dans laquelle on inscrit 1 pour signifer "à masquer")
 

cbea

XLDnaute Impliqué
Re : Effacement de lignes

Bonjour à tous,

Voici une nouvelle version :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    
    ' Si la colonne = B, Ligne >=6 et valeur de la cellule = ""
    ' Effacer la ligne
    If Target.Column = 2 And Target.Row >= 6 And Target.Value = "" Then
        Range("C" & Target.Row).Value = ""
        Range("E" & Target.Row).Value = ""
    End If
End Sub
 

kjin

XLDnaute Barbatruc
Re : Effacement de lignes

Bonjour,
Essaies ce code
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 And Target.Row > 6 Then
If Target.Value = "" Then
Target.Offset(0, 1).Value = ""
Target.Offset(0, 3).Value = ""
End If
End If
End Sub

Par contre, il faut modifier tes listes de validation en cochant pour chacune d'elles la case "ignorer si vide"
A+
kjin
 

vedene

XLDnaute Nouveau
Re : Effacement de lignes

Re,:)
Merci kjin, C'est parfait comme cela

J'avais moi bricolé un truc du genre :


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub

' Si la colonne = B, Ligne >=6 et valeur de la cellule = ""
' Effacer la ligne
If Target.Column = 2 And Target.Row >= 6 And Target.Value = "" Then
Range("C" & Target.Row & ":E" & Target.Row).ClearContents
End If
' formule sauvegarder en "D2"
' copier et coller dans la plage "d6:d14"
Range("D2").Select
Selection.Copy
Range("D6:D14").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A1").Select

End Sub

Le smiley dans "Range" sont en fait ":" Bizarre.

Affaire résolue. Au fait comment signaler "résolu"

Merci à tous:cool:
 

jmd2

XLDnaute Accro
Re : Effacement de lignes

re

http://www.uploading.com/files/Y2KD15BX/toto22.xls.html

(attendre 15 secondes de pub pour voir le clic "download")

feuille1 :les données
feuille2 : plage de données "importées" de la feuille 1, mises à jour = 1 minute ou à l'ouverture
et avec les filtres delon la colonne avec les 1

(rem : déjà sur la feuille 1 on peut filtrer, est-ce que la feuille 1 suffirait ?)
 
Dernière édition:

Discussions similaires

  • Question
Microsoft 365 Tableau
Réponses
24
Affichages
906

Statistiques des forums

Discussions
315 129
Messages
2 116 558
Membres
112 783
dernier inscrit
totfdu