Suppression de caractères

lloull

XLDnaute Nouveau
Bonjour,

Je voudrais recopier des cellules d'une feuille vers une autre feuille mais en elevant des caractères.

Exemple:

La cellule source est de la forme : "O.1 BBBBBB" dans la feuille AC Operation Intermediate
Et je ne voudrais garder que "BBBBB" dans la même cellule (si possible) ou alors dans une autre feuille mais au même coordonnées.
De plus je ne voudrai que le résultat dans cette nouvelle cellule et pas la formule.

Je vous joint un extrait de mon fichier excel

Merci d'avance
 

Pièces jointes

  • Fichier Test lloullv2.zip
    34.8 KB · Affichages: 40

job75

XLDnaute Barbatruc
Re : Suppression de caractères

Bonjour lloull,

N'ayant pas trop compris sur quelle feuille il faut travailler, j'ai créé par copier/coller 2 feuilles avec ces macros :

1) AC Operations Intermediate(1)

Code:
Private Sub CommandButton1_Click()
Dim cel As Range
Application.ScreenUpdating = False
For Each cel In Intersect(Me.UsedRange, Range("B3:F65536"))
cel = Trim(Replace(cel, cel.Offset(, -1), ""))
Next
End Sub

2) Feuil1(1)

Code:
Private Sub CommandButton1_Click()
Dim cel As Range
Application.ScreenUpdating = False
On Error Resume Next
For Each cel In Range("B2", Range("B65536").End(xlUp))
If cel Like "O*" Then cel = Right(cel, Len(cel) - 2 * cel.Offset(, -1) - 2)
Next
End Sub

Pour cette dernière feuille, on peut aussi entrer une formule en colonne C.

Nota : il y a une erreur de compilation dans votre macro en Module1

Edit : ajouté Application.ScreenUpdating = False

A+
 

Pièces jointes

  • Fichier Test lloullv2(1).zip
    21 KB · Affichages: 27
Dernière édition:

job75

XLDnaute Barbatruc
Re : Suppression de caractères

Bonjour lloull, le forum,

Une autre solution avec cette même recherche dans les 2 feuilles :

Code:
If cel Like "O *" Or cel Like "O.1*" Then cel = Mid(cel, InStr(cel, " ") + 1, 999)


A+
 

Pièces jointes

  • Fichier Test lloullv2(2).zip
    21.2 KB · Affichages: 31
Dernière édition:

lloull

XLDnaute Nouveau
Re : Suppression de caractères

Merci beaucoup pour ta réponse

J'ai aussi trouver une autre solution ce matin

Dim a As Variant
For ....
a = Split(Ma_cell.Value, " ", 2)
Ma_cell = a(1)

Next

Mais je garde ta réponse dans un coin de ma tête car je sent que je pourrais m'en resservir un jour pour autre chose.

Encore merci
 

Discussions similaires