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

  • Initiateur de la discussion Initiateur de la discussion anbar
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
 
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 😉
 
Bonsoir,

Essayez la macro:
VB:
Sub prefixe()
Dim t, i&
   With Sheets("tableau")
      t = .Range("a1").Resize(.Cells(Rows.Count, "a").End(xlUp).Row)
      For i = 2 To UBound(t): t(i, 1) = Split(t(i, 1), "-")(0): Next
      .Range("a1").Resize(UBound(t)) = t
   End With
End Sub
 
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.
 
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 😉
 
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)
😉
 
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
 
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
 
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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour