Bonjour à tou(te)s,

J'essaye de me lancer dans les macros VBA pour excel, mais c'est pas gagné.

j'ai un fichier excel composé d'une colonne qui correspond à différentes lignes d'un texte.

Ex :
Ce matin (1)
un lapin a été (2)
tué par un écolo (3)

Comme vous pouvez le voir, le numéro de la ligne est écrit entre parenthèses à la fin à chaque fois.
Ce que j'aimerai faire, c'est créer une macro qui va supprimer ce numéro de ligne. (j'ai 10 feuilles de 7000 lignes chacune comme ça).

Sur le principe de l'algorithme, je crois avoir une solution satisfaisante.

Je vais :
1) copier la colonne 1 dans la colonne 2 et faire les modifications sur la colonne 2 (par sécurité)

Pour chaque cellule de la colonne 2:

2) je vais utiliser StrReverse pour inverser le texte
ex: "Ce matin (1)" -> ")1( nitam eC"

3) je vais rechercher la première occurence de "(" avec Instr

4) extraire de cette cellule la sous-chaine qui commence 2 caractères plus loin avec la fonction Left, remplacer le contenu de la cellule par cette sous-chaine.
ex : ")1( nitam eC" -> "nitam eC"

5) inverser le résultat
ex : "nitam eC" -> "Ce matin"

Fin pour chaque cellule
Alors j'arrive à faire le point 1 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
ActiveSheet.Columns(1).Copy ActiveSheet.Columns(2)
mais pour le point 2 j'ai tenté ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
For Each cell In ActiveSheet.Columns(2)
   cell.Value = StrReverse(cell.Value)
Next
mais VBA ne veut pas (Erreur 13, incompatibilité de type).

A noter que les cellules sont au format Texte (je ne sais pas si ça a une importance).

Auriez-vous un peu d'aide à m'apporter svp ? Ou une autre solution plus simple (même si je ne trouve pas ça très compliqué apparemment).

Je suis assez perdu en VBA, je n'ai pas de vue d'ensemble du fonctionnement de la bête, mais j'ai de bonnes bases de programmation.