XL 2010 VBA pour supprimer une partie d'une chaine de caractères

anbar

XLDnaute Junior
Bonsoir

Je vous sollicite pour m'aider à trouver une solution pour supprimer une partie des chaines de caractères Colonnes A du tableau ci-joint
je voudrais garder que CBM1, D31, D38, MUS, MUS3, PA4, PL4, PL4A, PR4, RA4, RO4 et RO4A.

Merci à vous.
 

Pièces jointes

  • organise.xlsm
    30.8 KB · Affichages: 14

anbar

XLDnaute Junior
re
et ou le résultat doit aller ??????????
dans tout les cas dans ce contexte en vba c'est split(valeur a couper,"-")(0)
Merci pour votre réponse, le problème c'est que la valeur à copier correspond à (-10/03/2020-M1) et ca change tous les jours au niveau de la date cad qu'au lendemain on aura -11/03/2020-M1).
peu n'importe la destination du résultat que ce soit sur la même feuille ou sur la feuille 3.
merci
 

patricktoulon

XLDnaute Barbatruc
re

je te cite
je voudrais garder que CBM1, D31, D38, MUS, MUS3, PA4, PL4, PL4A, PR4, RA4, RO4 et RO4A.
dans ton fichier je vois
Capture.JPG


donc pour l'exemple
j'affiche le résultat dans un msgbox
msgbox split([A2].value,"-")(0)

et pareil pour les autres ;)
 

anbar

XLDnaute Junior
Merci pour votre réponse, le problème c'est que la valeur à copier correspond à (-10/03/2020-M1) et ca change tous les jours au niveau de la date cad qu'au lendemain on aura -11/03/2020-M1).
peu n'importe la destination du résultat que ce soit sur la même feuille ou sur la feuille 3.
merci
Je crois que j'ai pas bien expliquer le problème, en fait pour CBM1, D31, D38, MUS, MUS3, PA4, PL4, PL4A, PR4, RA4, RO4 et RO4A. ne
Bonsoir le fil

anbar
Pas besoin de macro
Utilises simplement la fonctionnalité Données/Convertir
avec comme séparateur le tiret
Merci de votre aide
sauf que à droite de A il y a plusieurs données.
 

Staple1600

XLDnaute Barbatruc
Re

Oui et alors?
Il suffit d'utiliser correctement les options offertes par Données/Convertir
Comme par exemple: Colonnes non distribuées.

EDITION: Alors si même mapomme sort l’artillerie lourde
Je retourne m'abrutir devant la TV ;)
 

Staple1600

XLDnaute Barbatruc
Re

anbar
Tu as du zappé ma réponse à ton questionnement
Cf le message#9

Essaies et tu verras que Données/Convertir fonctionne
(et que c'est plus rapide que de devoir insérer un module standard puis y faire un copier/coller d'un code VBA)
;)
 

anbar

XLDnaute Junior
re

je te cite

dans ton fichier je vois
Regarde la pièce jointe 1057693

donc pour l'exemple
j'affiche le résultat dans un msgbox
msgbox split([A2].value,"-")(0)

et pareil pour les autres ;)
Merci
j'ai oublié de vous dire que CBM1, D31, D38, MUS, MUS3, PA4, PL4, PL4A, PR4, RA4, RO4 et RO4A n'est pas exhaustive et n'est pas tjours dans le même ordre.
Merci de votre aide
 

Staple1600

XLDnaute Barbatruc
Re

C'est parce que tu n'as pas utilisé (en la cochant ) l'option:
Colonne non distribuée

Le ridicule ne tuant pas (je parle pour moi), voici du code VBA pour te convaincre ne pas en utiliser ;)
Fais le test sur une feuille vierge
1) Tu lances d'abord la macro Datas_pour_test
2) Puis la macro test
VB:
Sub Datas_pour_test()
With Application
For i = 1 To 30
Cells(i, 1) = Chr(.RandBetween(65, 90)) & Chr(.RandBetween(65, 90)) & Chr(.RandBetween(65, 90)) & i & "-01/01/2020-" & 1601 - i
Next
End With
End Sub

Sub test_Données_Convertir()
Dim WTF
WTF = Array(Array(1, 1), Array(2, 9), Array(3, 9))
Columns(1).TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, Other:=True, OtherChar:="-", FieldInfo:=WTF
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

Explications d'utilisation de Données/Convertir
(Quand tu es à l'étape 3 de l'Assistant
Tu cliques sur les intitulés de colonnes (en dessous de Aperçu de données) -> Là où c'est écrit: Standard
Donc tu fais cela sur les colonnes que tu veux pas et coche pour celles-ci Colonnes non distribuées.
 

Discussions similaires

Statistiques des forums

Discussions
312 203
Messages
2 086 194
Membres
103 153
dernier inscrit
SamirN