Si 10 caractères communs entre 2 cellules = copier valeurs cell adjacentes

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Si 10 caractères communs entre 2 cellules = copier ces 8 caractères dans une new

Bonjour,

voir fichier joint
Code:
Sub Bouton1_Clic()
For j = 1 To Range("A65535").End(xlUp).Row
For i = 1 To Len(Cells(j, 1)) - 10
compare = UCase(Mid(Cells(j, 1), i, 10))
If WorksheetFunction.Search(compare, UCase(Cells(j, 2))) Then
Cells(j, 3) = LCase(compare)
Exit For
End If
Next i
Next j
End Sub

à+
Philippe
 

Pièces jointes

  • 111.xlsm
    17.9 KB · Affichages: 26
  • 111.xlsm
    17.9 KB · Affichages: 34
  • 111.xlsm
    17.9 KB · Affichages: 23
Dernière édition:

bool2gom

XLDnaute Junior
Re : Si 10 caractères communs entre 2 cellules = copier ces 8 caractères dans une new

Merci
J'aurais besoin de ce comportement exact (fichier attaché)
Si string commun entre cellules Cx et Dx (10 caractères minimum) alors copier Ex en Gx et Fx en Hx
J'ai besoin que la macro fasse toutes les lignes jusqu'en bas du tableau
Désolé pour le manque de précision
Merci
 

Pièces jointes

  • filev2.xlsx
    9.7 KB · Affichages: 16
  • filev2.xlsx
    9.7 KB · Affichages: 17
  • filev2.xlsx
    9.7 KB · Affichages: 14
Dernière édition:

Paf

XLDnaute Barbatruc
Re : Si 10 caractères communs entre 2 cellules = copier valeurs cell adjacentes

Bonjour à tous

pas tout compris
J'aurais besoin de ce comportement exact (fichier attaché)
Si string commun entre cellules Cx et Dx (10 caractères minimum) ....

dans l'exemple du classeur fourni, seule la ligne 2 remplirait les bonnes conditions (??), et, je n'ai pas vu la partie commune entre Category-Banner--Dresses.jpg (C2) et Baby__Kids_and_Toys,Clearance_Sale (D2)

Quelques précisions ...

A+
 

bool2gom

XLDnaute Junior
Re : Si 10 caractères communs entre 2 cellules = copier valeurs cell adjacentes

Bonjour,

Merci pour votre réponse.

J'ai mis à jour le fichier, ce n'était pas clair en effet.
Dans l'exemple attaché, seule la ligne 1 remplirait les conditions. Ce sera le cas dans la véritable version du fichier.
C'était juste pour l'exemple. Je peux refaire le même fichier avec chaque ligne qui valide l'exemple.

Il me faudrait une formule que je puisse tirer jusqu'en bas du tableau.

Merci
 

Pièces jointes

  • filev2.xlsx
    9.7 KB · Affichages: 19
  • filev2.xlsx
    9.7 KB · Affichages: 21
  • filev2.xlsx
    9.7 KB · Affichages: 19
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Si 10 caractères communs entre 2 cellules = copier valeurs cell adjacentes

Bonjour

Quelques questions :
* Doit-on faire la différence entre les minuscules et les majuscules ?
* La ligne 9 ne convient-elle pas aussi : Je trouve les caractères c a t e o r y b n d s en commun en C9 et D9 si on ne fait pas la différence entre minuscules et majuscules, soit 11 au total ?
* Doit on prendre en compte les caractères non alphabétiques ?

@ plus
 

CISCO

XLDnaute Barbatruc
Re : Si 10 caractères communs entre 2 cellules = copier valeurs cell adjacentes

Bonjour

Un premier essai en pièce jointe avec une formule matricielle à valider avec Ctrl+maj tempo +entrer.

@ plus
 

Pièces jointes

  • filev2.xlsx
    10.1 KB · Affichages: 14
  • filev2.xlsx
    10.1 KB · Affichages: 19
  • filev2.xlsx
    10.1 KB · Affichages: 19

bool2gom

XLDnaute Junior
Re : Si 10 caractères communs entre 2 cellules = copier valeurs cell adjacentes

Bonsoir



C'est à dire ? Un exemple...

@ plus

Exemple :

baby1baby2blablabla / blablablababy1baby2
== match, car les caractères sont collés
Je cherche à faire matcher des chaines de caractères (=un mot, une expression)

abcdefg / gfedcba ==> pas de match, même si les mêmes caractères sont présents
 

CISCO

XLDnaute Barbatruc
Re : Si 10 caractères communs entre 2 cellules = copier valeurs cell adjacentes

Bonsoir

Je n'avais pas bien compris ta demande. Cf. une nouvelle proposition en pièce jointe pour tester la présence de 10 caractères à la suite.

@ plus

P.S : La formule prend en compte dans la série de 10 caractères les espaces entre les mots. S'il faut ne pas en tenir compte, il faudra la modifier, mais cela ne doit pas être très compliqué.
 

Pièces jointes

  • filev2bis.xlsx
    10.2 KB · Affichages: 33
Dernière édition:

Paf

XLDnaute Barbatruc
Re : Si 10 caractères communs entre 2 cellules = copier valeurs cell adjacentes

Bonjour à tous

une solution par fonction personnalisée

a copier dans un module standard

Code:
Function Commun(Contenant, Contenu)
 Dim i As Long, Trouve As Boolean
 Trouve = False
 For i = 1 To Len(Contenu) - 10
    If UCase(Contenant) Like "*" & UCase(Mid(Contenu, i, 10)) & "*" Then
        Trouve = True
        Exit For
    End If
 Next i

Commun = IIf(Trouve, "Commun", "")

End Function

puis utiliser comme une fonction courante:
Insérer fonction, choisir Personnalisées, puis Commun.

A+
 

Discussions similaires

Réponses
10
Affichages
515
Réponses
4
Affichages
328

Statistiques des forums

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