Suppression cellule sous conditions

Adriano43

XLDnaute Occasionnel
Bonjour à tous,

Me voici coincé pour un détail que je n'arrive pas à contourner. J'ai un tableau qui contient 4 colonnes, cependant il arrive que suite à l'importation du fichier texte, un caractère se décale créant une nouvelle colonne.
Je bloque donc sur la macro qui permettrait de sélectionner la colonne C et et supprimer toutes les cellules vers la gauche afin de redonner de la lisibilité au tableau. L'exemple fourni en PJ sera certainement plus parlant.

En vous remerçiant par avance.

Cordialement
 

Pièces jointes

  • Test.xlsx
    8.5 KB · Affichages: 30
  • Test.xlsx
    8.5 KB · Affichages: 33
  • Test.xlsx
    8.5 KB · Affichages: 32

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Suppression cellule sous conditions

Bonjour Adriano,

voir fichier joint
il est nécessaire d'activer les macros à l'ouverture du fichier

à+
Philippe
 

Pièces jointes

  • 111.xls
    41.5 KB · Affichages: 29
  • 111.xls
    41.5 KB · Affichages: 37
  • 111.xls
    41.5 KB · Affichages: 35

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Suppression cellule sous conditions

Re,

le fichier en retour
Code:
Sub Bouton1_Clic()
Application.ScreenUpdating = False
For i = 2 To Range("C65535").End(xlUp).Row
If Cells(i, 3) = "]" Then
    Range(Cells(i, 4), Cells(i, 5)).Cut Destination:=Range(Cells(i, 3), Cells(i, 4))
End If
Next i
Application.ScreenUpdating = True
End Sub


à+
Philippe

Edit: Nouvelle version jointe
 

Pièces jointes

  • 111.xls
    46.5 KB · Affichages: 21
  • 111.xls
    46.5 KB · Affichages: 33
  • 111.xls
    46.5 KB · Affichages: 23
Dernière édition:

laetitia90

XLDnaute Barbatruc
Re : Suppression cellule sous conditions

bonjour tous :):)

une autre facon de l'ecrire

Code:
Sub es()
 Dim t, t1(), v As Byte, x As Long, i As Long, c As Byte
 t = Range("a2:e" & Cells(Rows.Count, 1).End(xlUp).Row)
 ReDim t1(1 To UBound(t), 1 To 5)
 For i = 1 To UBound(t)
 x = x + 1: v = 1
 For c = 1 To 5
 If t(x, c) <> "]" Then t1(x, v) = t(x, c): v = v + 1
 Next c: Next i
 Range("a2:e" & Cells(Rows.Count, 1).End(xlUp).Row).ClearContents
 Range("a2:d" & x) = t1
End Sub
 

Statistiques des forums

Discussions
312 305
Messages
2 087 085
Membres
103 461
dernier inscrit
dams94