Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Remplacement texte sous conditions

komarlehomard

XLDnaute Junior
Bonjour à tous
Je viens chercher vos lumières car malgré plein d'essais je n'arrive pas à maitriser toutes les conditions que je souhaiterais.
Sur ma feuille "txt" j'ai une liste d'intervention pour lesquelles je crée une feuille avec une autre macro.
L'intitulé de la feuille doit être inférieur ou égal à 31 caractères.
Je voudrais si c'est possible dans la colonne I récupérer jusqu'à 31 des caractères des cellules colonne B en purgeant au minimum afin que les intitulés soient compréhensifs.
Une liste de mots avec équivalence dans la feuille "réf", j'aimerais que le remplacement soit effectué dans l'ordre, que les espaces inutiles soient effacés.
Merci beaucoup du temps que vous allez m'accorder.
 

Pièces jointes

  • aide remplacement texte.xlsm
    11.7 KB · Affichages: 3

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour komarlehomard,
Un essai en PJ avec :
VB:
Sub NomsFeuilles()
    Application.ScreenUpdating = False
    With Sheets("rèf")
        DL = .[A65000].End(xlUp).Row
        T = .Range("A5:B" & DL)
        DLT = UBound(T)
    End With
    For L = 6 To [A65000].End(xlUp).Row
        Nom = Cells(L, "B")
        For i = 1 To DLT
            If Cells(L, "B") Like "*" & T(i, 1) & "*" Then Nom = Replace(Nom, T(i, 1), T(i, 2))
        Next i
        Nom = Application.Trim(Nom)
        Cells(L, "I") = Mid(Nom, 1, 31)
    Next L
End Sub
 

Pièces jointes

  • aide remplacement texte.xlsm
    19 KB · Affichages: 0

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Une V2 car certains libellés ont un caractère spécial ( / ) interdit dans un nom de feuille.
J'en ai profité pour supprimer les caractères spéciaux ("/", "\", "$", "%", ":", "&", "#", "%", "*", "[", "]") par "_"
 

Pièces jointes

  • aide remplacement texte (V2).xlsm
    19.9 KB · Affichages: 2

komarlehomard

XLDnaute Junior
Bonjour Sylvanu
Merci beaucoup de t'être penché sur mon cas, la solution que tu me proposes est viable.
Si je peux me permettre une gourmandise, j'aimerais si c'est possible que une fois atteint les 31 ou sous les 31, que le texte ne soit pas ou plus touché au fil des modifications .
Ex pour être plus clair:

DEPOSE/POSE DES BLOCHETS (24 caractères devient) POSE_POSE S BLOCHS (18 caractères car on supprime ET)

Mais surtout une fois de plus je te remercie du temps que tu m'as accordé.
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…