Séparer lettre et chiffre - extraire chaine

a

Bonjour,

C'est mieux si vous pouvez déjà charger un fichier excel

Bonjour le forum,

I2 :

=STXT(J2;CHERCHE(" ";J2;1);25)

a

Bonjour le forum,

I2 :

CODE : TOUT SÉLECTIONNER

=STXT(J2;CHERCHE(" ";J2;1);25)

Merci de ta réponse rapide !

Le code est super mais ça ne marche que pour ceux qui ont la même longueur. La problématique c'est que plus bas on a d'autres titres plus court voir plus long donc il ne prend pas le bon point de départ et fin.

Bonjour Lapi , bonjour le forum

Voici un fichier

88sku-v1.xlsm (196.54 Ko)

A voir

=STXT(D2;CHERCHE(" ";D2;1);25)

C2 :

=SI(RECHERCHE(9^9;--("0"&STXT(D2;MIN(CHERCHE({0.1.2.3.4.5.6.7.8.9};D2&"0123456789"));LIGNE($1:$100))))=0;D2;STXT(D2;CHERCHE(" ";D2;1);200))
tailles

Bonjour, Salut à tous !

Il me semble que tu as des cas qui dérogent à ton modèle de base :

Tablier à bavette Basic 75 x 90 cm, avec boucle

Tablier de bistro jeans 1892 Georgia 105 x 90 cm

Toque style béret Luka Taille Unique

Couteau de chef ROCK CHEF® couteau: 34 cm, lame: 20 cm

Bretelles ROCK CHEF® 3 cm de large

Est-ce la mention Stck est indicative que la taille est à extraire ?

Et elle seule ? (on ignore quand il n'y a pas Stck...)

Les cas cités ont la mention Stck.

Le 1er déroge car la taille est enclavée

Le 2e parce qu'il y a un élément numérique dans le nom

Le 3e parce que la taille n'est pas numérique

Le 4e parce que les mentions couteau et lame doivent restées liées à la taille

Le 5e parce qu'elle est exprimée différemment

Chaine ROCK CHEF® environ: 42-58 cm + pendentif (ca. 26 x 30 x 1,5 mm)

Chaussure de sécurité ROCK CHEF® STEP 1

Pas de mention Stck pour ces 2 types, je suppose qu'on les ignore ?

Cordialement.

C2 :

CODE : TOUT SÉLECTIONNER

=SI(RECHERCHE(9^9;--("0"&STXT(D2;MIN(CHERCHE({0.1.2.3.4.5.6.7.8.9};D2&"0123456789"));LIGNE($1:$100))))=0;D2;STXT(D2;CHERCHE(" ";D2;1);200))

Merci de ton implication, c'est super gentil. ça ne marche pas pour l'ensemble des articles mais pour uniquement pour une partie des titres.

Bonjour, Salut à tous !

Il me semble que tu as des cas qui dérogent à ton modèle de base :

Tablier à bavette Basic 75 x 90 cm, avec boucle

Tablier de bistro jeans 1892 Georgia 105 x 90 cm

Toque style béret Luka Taille Unique

Couteau de chef ROCK CHEF® couteau: 34 cm, lame: 20 cm

Bretelles ROCK CHEF® 3 cm de large

Est-ce la mention Stck est indicative que la taille est à extraire ?

Et elle seule ? (on ignore quand il n'y a pas Stck...)

Les cas cités ont la mention Stck.

Le 1er déroge car la taille est enclavée

Le 2e parce qu'il y a un élément numérique dans le nom

Le 3e parce que la taille n'est pas numérique

Le 4e parce que les mentions couteau et lame doivent restées liées à la taille

Le 5e parce qu'elle est exprimée différemment

Chaine ROCK CHEF® environ: 42-58 cm + pendentif (ca. 26 x 30 x 1,5 mm)

Chaussure de sécurité ROCK CHEF® STEP 1

Pas de mention Stck pour ces 2 types, je suppose qu'on les ignore ?

Cordialement.

Salut et merci de ta réponse !

C'est bien ça, il y a des modèles qui dérogent c'est pour ça que je ne peux pas automatiser ça. Le fournisseur m'a envoyé ce fichier et ils ne peuvent malheureusement pas faire autrement.

Les cas cités ont bien la mention Stck. Vous avez vraiment bien cerné le problème, tous ces cas font que je ne sais pas comment m'y prendre pour extraire la taille. Pour tous les Stck qui sont pas mentionné à gauche on peut effectivement les ignorer car ils ont déjà la bonne taille.

J'avais pensé à un algorithme mais je ne vois pas du tout comment faire pour l'intégrer sur excel et je ne sais pas si c'est faisable.

Tout d'abord, on ignore tous ce qui n'est pas stck puis on cherche un chiffre dans le titre. Celui ci sera l'élément de départ, et l'élement de fin c'est le premier m de "cm", par exemple "Cravate de service 94 x 5 cm" le première chiffre c'est 9 et le premier m c'est celui de cm.

Du coup, on peut prendre ça et le mettre dans les tailles, mais comme dit je ne sais pas si c'est faisable sur excel et ça me parait bien compliqué.

Merci

Re, Ma décoction a l'air de marcher, sauf les "Taille Unique" qui resistent ! Je cherche pourquoi, ça paraissait le plus simple !

Il y a d'autres mentions que "Stck' en C : "Paar" (ou on trouve des tailles uniques) et "Pack" (avec des dimensions).

On continue de les ignorer où non ?

Re, merci de ta réponse

ça a l'air vraiment compliqué de faire ça, tu as l'air d'être très douée sur excel !

Les autres mentions que Stck je peux le faire manuellement, il y en as pas tant que ça donc ça va.

Merci !!

Banal problème de casse, j'avais loupé une majuscule...

C'est du sur-mesure ! mais faudrait pas que tu aies d'autres cas en réserve...

Sub ExtraireTaille()
    Dim tx, itm1$, itm2$, n&, i&, k%
    With ActiveSheet
        Application.ScreenUpdating = False
        n = .Cells(.Rows.Count, 4).End(xlUp).Row
        For i = 1 To n
            If .Cells(i, 3) = "Stck" Then
                tx = .Cells(i, 4)
                tx = Replace(tx, " cm de large", "cmdelarge")
                tx = Replace(tx, "cm,", "cm")
                tx = Replace(tx, " cm", "cm")
                tx = Replace(tx, " x ", "xxx")
                tx = Replace(tx, ": ", ":")
                tx = Replace(tx, "Taille Unique", "TailleUnique")
                tx = Split(tx)
                For k = UBound(tx) To 1 Step -1
                    If Right(tx(k), 2) = "cm" Then
                        If itm1 = "" Then
                            itm1 = Replace(Replace(tx(k), "cm", " cm"), "xxx", " x ")
                            tx(k) = "@"
                        Else
                            itm2 = Replace(tx(k), "cm", " cm") & ", "
                            tx(k) = "@": Exit For
                        End If
                    ElseIf Right(tx(k), 9) = "cmdelarge" Then
                        itm1 = Replace(tx(k), "cmdelarge", " cm de large")
                        tx(k) = "@": Exit For
                    ElseIf tx(k) = "TailleUnique" Then
                        itm1 = "Taille Unique"
                        tx(k) = "@": Exit For
                    End If
                Next k
                If itm2 <> "" Then
                    itm1 = Replace(itm2 & itm1, ":", ": "): itm2 = ""
                End If
                If itm1 <> "" Then
                    .Cells(i, 3) = itm1: itm1 = ""
                End If
                tx = Replace(Join(tx), " @", "")
                .Cells(i, 4) = tx
            End If
        Next i
    End With
End Sub

Cordialement.

24lapi-sku-2.zip (152.67 Ko)

Tu peux modifier :

            If .Cells(i, 3) = "Stck" Then

en :

            If .Cells(i, 3) = "Stck" Or .Cells(i, 3) = "Pack" Or .Cells(i, 3) = "Paar" Then

et ça les prendra en compte...

Merci beaucoup !!!!!!!!!!

C'est vraiment super gentil ! Tout marche correctement

Je trouve ça dingue le niveau du script, tous ça sur mesure et très rapidement.

Je te remercie du fond du cœur.

Peux tu me passer ton mail en privé ?

Merci mille fois !

Bonsoir

Je vois que MFerrand démarre l"année à fond...

Plus doué que lui tu meurs

Bonne soirée

Bonjour

cela nous évitera de relire ta demande!

Merci

Rechercher des sujets similaires à "separer lettre chiffre extraire chaine"