Supprimer données entre dans une colonne

Bonjour !

Je suis pas un pro de Vba, je me débrouille sans plus

Voici ma question :

Je cherche à automatiser en VBA la suppression de données dans une colonne spécifique, données d'un extract xlsm faite à partir d'un Gantt...

L'exportation crée une redondance et je cherche à supprimer celle-ci (en gras ci-dessous), si cela peut aider cette redondance est accoté sans espace au texte, j'arrive à supprimer tout ce qui se trouve entre parenthèse mais du coup cela supprime pas uniquement ce que je veux

=> Mise en place (Expo) automne 2022(Mise en place (Expo) automne 2022)

Si vous avez une solution efficace, je vous remercie à l'avance !

Bonjour, il faudrait avoir la "plage" exacte de travail pour ne pas supprimer d'autres données.

Dans l'absolu pour les cellules concernées il suffirait de compter le nombre de caractères ; le diviser par deux et utiliser cette info pour conserver

uniquement ce nombre de caractère obtenu.

Un exemple avec du texte doublé en Colonne B de la ligne 2 à la ligne 8

6exemple.xlsm (15.31 Ko)
Sub Macro1()

For i = 2 To 8
X = Len(Cells(i, 2)) / 2
Cells(i, 2).Value = Mid(Cells(i, 2).Value, 1, X)
Next i

End Sub

Bonjour le fil, bonjour le forum,

Ouais, d'accord avec Xmenpl, avec un seul exemple on va pas loin... Comment peut-on être aussi radin en informations !?...

Si toutes les données de la colonne ont une redondance le code ci-dessous à adapter pourrait convenir :

Sub ThauTheme()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs

Set O = Worksheets("Feuil1") 'définit l'onglet O
TV = O.Range("A1").CurrentRegion 'définit le tableau des valeurs TV
For I = 1 To UBound(TV, 1) 'boucle sur toutes les lignes I du tableau des valeurs TV
    TV(I, 1) = Mid(TV(I, 1), 1, (Len(TV(I, 1)) \ 2) - 1) 'redéfinit la donnée ligne i colonne 1 de TV
Next I 'prochaine ligne de la boucle
O.Range("C1").Resize(UBound(TV, 1), 1).Value = TV 'renvoie le tableau TV en C1 redimensionnée
End Sub

[Édition]

Tu as modifié ton post Xmenpl, non ?!...

Bonjour le fil, bonjour le forum !

Oui, toutes les données de la première colonne ont une redondance de ce type : répétition de la phrase entre parenthèse accolé au texte.
Ce qui explique le pourquoi j'ai été si radin en information .

La phrase varie dépendant du Gantt extrait de l'application Monday, par contre le modèle de redondance est le même :
soit = Phase(Phrase).
Je me demandais s'il y a un moyen d'identifier un texte accoté à une parenthèse et donc ne pas systématiquement supprimer ce qui est entre () lorsqu'il y a une espace avant cette parenthèse. Mon fichier peut avoir une 100aine de ligne.

Cellule A1 = Mise en place (Expo) automne 2022(Mise en place (Expo) automne 2022)
Cellule A2 = Mise en place hivers 2022(Mise en place hivers 2022)
Cellule A3 = Montage(Montage)
Cellule A4 = Démontage(Démontage)
...

Je m'excuse si ce n'est pas clair.

Re,

Ce qui explique le pourquoi j'ai été si radin en information .

Ça n'explique rien du tout ! On n'est pas des devins...

Deux propositions, aucune satisfaction ! Que du blabla inutile et toujours pas de fichier... Je laisse tomber c'est indécent.

Répétition de la phrase avec des parenthèses.

Celà veut dire que le nombre de caractères est doublé + 2 parenthèse.

Donc mon premier exemple peut facilement être adapté en divisant par 2 et en retirant 1.

Mise en place (Expo) automne 2022(Mise en place (Expo) automne 2022) = 68 caractères : 2 - 1 = 33 caractères

Soit la première partie sur 33 caractères.

A vous de l'utiliser correctement sur la bonne colonne et sur le bon nombre de lignes puisque vous ne joignez pas de fichier exemple.

Sub Macro1()

For i = 2 To 8
X = Len(Cells(i, 2)) / 2 -1
Cells(i, 2).Value = Mid(Cells(i, 2).Value, 1, X)
Next i

End Sub
Rechercher des sujets similaires à "supprimer donnees entre colonne"