Bonjour,
Je créé une macro excel pour retravailler 3 bases de données pour lesquels je veux supprimer des colonnes, modifier le format des chiffres (remplacer les points par des virgules, reclasser l'ordre des colonnes, ne garder que les 4 premiers caractères d'une colonne) mais j'ai un bug certainement à plusieurs niveaux de ma macro mais j'avoue ne pas trop savoir comment procéder pour détecter d'où vient le problème.
Vous remerciant par avance pour votre aide
Je vous mets la macro ci-dessous car le fichier est trop lourd avec la macro...mais pourquoi?
Sub Modif()
Dim fl As Worksheet
'Désactiver le raffraichissement d'écran
Application.ScreenUpdating = False
'Désactiver le Calcul Automatique
Application.Calculation = xlManual
' Travailler sur la feuille Vte, Cai et Bqe
For Each fl In Worksheets
If fl.Name <> "Vte" And fl.Name <> "Cai" And fl.Name <> "Bqe" Then
'Remplacer les points par des virgules pour les colonnes G et H
Columns("G:H").Select
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
'Supprimer colonnes inutiles
.Range("A:A,E:E").Delete
' Déplacer la colonne de "pièce"
Columns("D
").Select
Application.CutCopyMode = False
Selection.Cut
Columns("B:B").Select
Selection.Insert Shift:=xlToRight
'Supprimer 1ère ligne
.Rows("1:1").Delete
End If
' Travailler sur la feuille Cai et Bqe
If fl.Name <> "Cai" And fl.Name <> "Bqe" Then
' Ne garder que les 4 premiers caractères de la colonne N° pièce (F)
'Réactiver le Calcul Automatique
Application.Calculation = xlAutomatic
'Réactiver le raffraichissement d'écran
Application.ScreenUpdating = True
End Sub