Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Supprimer de manière automatique certaines lignes

nicolas.aas

XLDnaute Nouveau
Bonjour,

Dans mon travail de reçoit des fichiers avec une liste de client et leurs détails (Adresse, ce qu'ils ont à cette adresse,...)
Le détail est "trop important" avec certaine chose sans aucune importance.

Dans un premier temps j'ai créé une macro avec la fonction enregistrée pour rendre le fichier plus lisible.

Avec cette fonction enregistrer, si je supprime la ligne 5 (par exemple), il va toujours me supprimer la 5. Un client n'étant pas l'autre, en ligne 5, il se peut que pour le client suivant, ce soit une information importante.

En Bref, j'aimerais savoir comment faire pour que, par exemple, il recherche de manière automatique , dans une cellule ("D-commer"), automatiquement qu'il me supprime toute ma ligne.
Mais ce "D-Commer" peut, chez un client se trouver en C5 et chez un autre en C16 ! (Petite précision, la mentione se trouvera toujours dans la même colonne).

Comme je l'ai dit dans ma présentation, je n'y connait rien de rien en VBA, lorsque je regarde ça, ça me parait incompréhensible, si vous pouviez m'expliquer cela pas à pas voire même me fournir le code de manière immédiate.

Voici déjà la macro que j'ai enrigistrée si ça peut vous aider:

Sub BGCClient()
'
' BGCClient Macro
' Copier coller en A1 ce qu'à le client SANS la barre de titre puis tape CTRL+MAJ+B. Attention ne pas oublier de trier ce qu'à le client par la suite
'

'
Rows("1:1").Select
Application.CutCopyMode = False
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("B5").Select
Selection.Cut Destination:=Range("E1")
Range("A5").Select
Selection.Cut Destination:=Range("E4")
Range("E4").Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Font.Bold = True
Columns("A:C").Select
Range("C1").Activate
Selection.Delete Shift:=xlToLeft
Columns("A:A").Select
Selection.Cut
Columns("C:C").Select
Selection.Insert Shift:=xlToRight
Columns("C:C").Select
Selection.Delete Shift:=xlToLeft
Columns("D:E").Select
Selection.Delete Shift:=xlToLeft
Columns("G:G").Select
Selection.Delete Shift:=xlToLeft
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("A4").Select
Selection.Cut Destination:=Range("A3")
Range("A4:G4").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("A4").Select
ActiveCell.FormulaR1C1 = "Adresse"
Range("B4").Select
ActiveCell.FormulaR1C1 = "NA"
Range("C4").Select
ActiveCell.FormulaR1C1 = "Type"
Range("D4").Select
ActiveCell.FormulaR1C1 = "Description"
Range("E4").Select
ActiveCell.FormulaR1C1 = "Periode"
Range("F4").Select
ActiveCell.FormulaR1C1 = "Start"
Range("G4").Select
ActiveCell.FormulaR1C1 = "Nbre"
Range("G5").Select
Columns("G:G").EntireColumn.AutoFit
Columns("F:F").EntireColumn.AutoFit
Columns("E:E").EntireColumn.AutoFit
Columns("D").EntireColumn.AutoFit
Columns("C:C").EntireColumn.AutoFit
Columns("C:C").ColumnWidth = 12.14
Columns("C:C").ColumnWidth = 9.29
Columns("C:C").Select
Columns("B:B").EntireColumn.AutoFit
Columns("A:A").EntireColumn.AutoFit
Range("A1:G2").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
With Selection.Font
.Name = "Calibri"
.Size = 20
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Selection.Font.Bold = True
Range("A3").Select
End Sub


Un tout grand merci d'avance.

Nico
 

Efgé

XLDnaute Barbatruc
Re : Supprimer de manière automatique certaines lignes

Bonjour nicolas.aas,
La lecture d'un code seul est toujours rébarbative. Pouvez vous nous poster un petit fichier exemple avec quelques données brutes et le résultat attendu (même fait "a la main").Si vous pouvez ajouter quelques explications...
Cordialement
 

nicolas.aas

XLDnaute Nouveau
Re : Supprimer de manière automatique certaines lignes

Voici 4 fichiers:

1.fichier que je recois (Celui que je reçois à la base)
2. fichier avec macro (Modification que j'ai créé)
3. explication de ce que je voudrais (En gras dans le fichier ce que j'aimerais
4. ce a quoi il faut arriver (Au final, voilà à quoi devra ressembler le fichier. vous voyez, certaines lignes ont disparue.

Un tout grand merci pour votre aide
 

Pièces jointes

  • fichier que je recois.xls
    24.5 KB · Affichages: 62
  • fichier que je recois.xls
    24.5 KB · Affichages: 72
  • fichier que je recois.xls
    24.5 KB · Affichages: 72
  • Bureau.zip
    47.6 KB · Affichages: 41
  • Bureau.zip
    47.6 KB · Affichages: 39
  • Bureau.zip
    47.6 KB · Affichages: 36

Efgé

XLDnaute Barbatruc
Re : Supprimer de manière automatique certaines lignes

Re
Je ne voudrais pas être lourd mais là, pour un fichier annonyme c'est un fichier annonyme...
Il faudrait au moins un point de repère pour trouver le client (numéro par exemple...)
cordialement
 

bruno33

XLDnaute Occasionnel
Re : Supprimer de manière automatique certaines lignes

Bonjour à tous

Je fais courament ça: cellule à zéro, date > x ....

'a zero

For y = Range("b2000").End(xlUp).Row To 21 Step -1
If Range("b" & y).Value = 0 Then
Rows(y).Delete
End If
Next
à adapter

A plus
 

nicolas.aas

XLDnaute Nouveau
Re : Supprimer de manière automatique certaines lignes

@ Efgé : Ok, je vais modifier cela dès que j'ai le temps, je passais juste par ici

@bruno33 : Comme expliqué je suis vraiment nul en VBA, où faudrait-il que je mette cela dans mon fichier ?
Je veux dire que j'ai déjà tout un code VBA suite au fait que j'ai enregistrer ma macro de manière "automatique", par contre ce qui serait cool, ce serait que tu me dises où l'insérer là-dedans et surtout les mentions qu'il doit rechercher.
 

nicolas.aas

XLDnaute Nouveau
Re : Supprimer de manière automatique certaines lignes

Bonjour,

Voici un fichier Exel + 2 Zip avec les quatre fichiers pour que vous ayez donc une idée de :
1. Ce que je reçois
2. Ce que j'ai déjà fait
3. Ce que j'aimerais qui s'automatise
4. Le résultat final

Précision sur deux choses:

1. Je ne peux pas faire l'inverse, à savoir je veux garder telle et telle ligne pour la simple et bonne raison que le jour un nouveau produit sort, il ne faut pas qu'il se supprime!
Exemple: Aujourd'hui c'est telephone353, si je dis de supprimer ce qui n'est pas téléphone353, si demain un nouveau téléphone354 sort, il me le supprimera, et ce n'est pas le but.

2. Un simple "script" me va, à partir du moment où vous me dites où l'insérer, et où je dois noter les mentions à supprimées

3. Est-ce possible d'avoir un bouton sur lequel je clique dès le départ et qui fait tout le travail ?
Sans que ce bouton n'apparaisse lors de l'impression ;-)

Un tout grand merci
 

Pièces jointes

  • fichier que je recois.xls
    24.5 KB · Affichages: 48
  • fichier que je recois.xls
    24.5 KB · Affichages: 53
  • fichier que je recois.xls
    24.5 KB · Affichages: 51
  • Bureau.zip
    33 KB · Affichages: 32
  • ce a quoi il faut arriver.zip
    15.9 KB · Affichages: 30
  • Bureau.zip
    33 KB · Affichages: 30
  • Bureau.zip
    33 KB · Affichages: 25
Dernière édition:

Discussions similaires

Réponses
5
Affichages
364
Réponses
9
Affichages
804
Réponses
11
Affichages
702
Réponses
2
Affichages
1 K
Réponses
22
Affichages
3 K
  • Résolu(e)
XL pour MAC Target
Réponses
9
Affichages
1 K
Réponses
1
Affichages
778
Réponses
2
Affichages
993
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…