VBA Excel : Reconstruction de chaînes de caractères
mikel831
Messages postés
188
Date d'inscription
mardi 23 octobre 2012
Statut
Membre
Dernière intervention
16 novembre 2024
-
Modifié le 16 avril 2024 à 11:08
mikel831 Messages postés 188 Date d'inscription mardi 23 octobre 2012 Statut Membre Dernière intervention 16 novembre 2024 - 16 avril 2024 à 15:44
mikel831 Messages postés 188 Date d'inscription mardi 23 octobre 2012 Statut Membre Dernière intervention 16 novembre 2024 - 16 avril 2024 à 15:44
A voir également:
- VBA Excel : Reconstruction de chaînes de caractères
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Mise en forme conditionnelle excel - Guide
4 réponses
danielc0
Messages postés
1263
Date d'inscription
mardi 5 juin 2018
Statut
Membre
Dernière intervention
16 novembre 2024
142
16 avril 2024 à 13:22
16 avril 2024 à 13:22
Bonjour,
Essaie :
Sub test() Dim A, D, TablA As Variant, TablD As Variant, Txt As String Dim Ctr As Long, I As Long A = "123 456 789 012 345 678" D = "123 12 678 123" TablA = Split(A, " ") TablD = Split(D, " ") For Each Item In TablA Ctr = 0 For I = 0 To UBound(TablD) If Item = TablD(I) Then Ctr = Ctr + 1 Next I If Ctr < 2 Then Txt = Txt & " " & Item End If Next Item A = Right(Txt, Len(Txt) - 1) End Sub
Daniel
danielc0
Messages postés
1263
Date d'inscription
mardi 5 juin 2018
Statut
Membre
Dernière intervention
16 novembre 2024
142
16 avril 2024 à 13:44
16 avril 2024 à 13:44
Ou bien :
Sub test1() Dim A, D, TablA As Variant Dim Ctr As Long, I As Long A = "123 456 789 012 345 678" D = "123 12 678 123" TablA = Split(A, " ") For Each Item In TablA If Len(Application.Substitute(D, Item, "")) < Len(D) - Len(Item) Then A = Application.Substitute(A, Item, "") End If Next Item Replace A, " ", " " End Sub
Daniel
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
16 avril 2024 à 14:54
16 avril 2024 à 14:54
Bonkour
Une autre
Public Function joindre(s1 As String, s2 As String) As String Dim dico As Object, cle As String Dim t1, t2, k As Long Set dico = CreateObject("scripting.dictionary") t1 = Split(s1, " ") t2 = Split(s2, " ") For k = 0 To UBound(t1) cle = t1(k) If Not dico.exists(cle) Then dico.Add cle, 1 Next k For k = 0 To UBound(t2) cle = t2(k) If Not dico.exists(cle) Then dico.Add cle, 1 Next k joindre = Join(dico.keys, " ") End Function
Cdlmnt
mikel831
Messages postés
188
Date d'inscription
mardi 23 octobre 2012
Statut
Membre
Dernière intervention
16 novembre 2024
16
16 avril 2024 à 15:44
16 avril 2024 à 15:44
Merci à tous pour vos réponses!
J'étais un peu naïf en pensant qu'il existait une fonction simple préexistante ...
Je vais adapter vos propositions à mon cas particulier.
Merci pour votre aide, cordialement, Mikel