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