1. Ce site utilise des "témoins de connexion" (cookies) conformes aux textes de l'Union Européenne. Continuer à naviguer sur nos pages vaut acceptation de notre règlement en la matière. En savoir plus.

Modifier code

Discussion dans 'Forum Excel' démarrée par maval, 12 Janvier 2019 à 11:01.

  1. maval

    maval XLDnaute Barbatruc

    Inscrit depuis le :
    11 Mai 2012
    Messages :
    2073
    "J'aime" reçus :
    6
    Bonjour,

    Suite à l’excellent code de Job que je salut et remercie au passage. J’ai un code associer au sien pour changer des mots, tel que : Polygon ou Points= » mon code est celui-ci :
    Code (Text):
    Sub remplace()

        col = "F"
        Columns(col).Replace "<polygon id=", "<path id=", xlPart
        Columns(col).Replace "points=""", "d=""M", xlPart
        Columns(col).Replace "_2_", "", xlPart
        Columns(col).Replace "_x27_", "'", xlPart
        For i = 1 To Cells(Rows.Count, col).End(xlUp).Row
            t = Cells(i, col)
            texte = t
            If texte <> "" Then
                texte = Split(texte, """")(1)
                texte = Split(texte, "_")
                texte = texte(UBound(texte))
                If EstMajuscule(texte) Then Cells(i, 1) = texte
            End If
            texte = t
            If texte <> "" Then
                s = InStr(texte, "_x37_1")
                If s > 0 Then
                    s1 = InStr(s + 6, texte, "_")
                    texte = Left(t, s - 1) & Mid(texte, s1 + 1)
                    Cells(i, col) = texte
                End If
            End If
        Next i
        Min
        SupprimerMot
    End Sub

    Function EstMajuscule(tx)
        t = tx
        For i = 1 To Len(t)
            ch = Mid(t, i, 1)
            If (ch < "A" Or ch > "Z") And ch <> "-" And ch <> "'" Then EstMajuscule = False: Exit Function
        Next i
        EstMajuscule = True
    End Function
    Avec ce code j'obtiens ceci:
    <path id="L'ABERGEMENT-SAINTE-COLOMBE" " d="M390.7,432.1 351.5,409.9 341.6,428.7 297.5,406.6 302.3,396.8……………..

    Alors que j'aimerais obtenir ceci
    <path id="01" title="L'Abergement-Sainte-Colombe" d="M390.7,432.1 351.5,409.9 341.6,428.7 297……………………….
    Je joint mon fichier qui seras plus explicite.

    je vous remercie

    max
     

    Pièces jointes:

  2. Chargement...

    Discussions similaires - Modifier code Forum Date
    XL 2016 Code à modifier légèrement... Forum Excel 31 Décembre 2018
    Modifier un code VBA Forum Excel 19 Décembre 2018
    Toutes versions Modifier code vba d'une macro crée via l'enregistreur Forum Excel 10 Novembre 2018
    Modifier un code Forum Excel 6 Novembre 2018
    Scripting Dictionnary : modifier code pour nb occurence SVP Forum Excel 21 Août 2018

  3. job75

    job75 XLDnaute Barbatruc

    Inscrit depuis le :
    15 Mai 2008
    Messages :
    26015
    "J'aime" reçus :
    2233
    Sexe :
    Masculin
    Habite à:
    Paris
    Utilise:
    Excel 2013 (PC)
    Bonjour maval,

    J'ai du mal à comprendre comment vous avez fait pour avoir un code aussi compliqué !

    Cette macro est quasiment évidente pour quelqu'un qui a 2071 messages à son actif :
    Code (Text):
    Sub remplace()
    Dim tablo, resu$(), i&, p%
    With [A5].CurrentRegion.Resize(, 6)
        tablo = .Value
        ReDim resu(1 To UBound(tablo), 1 To 1)
        For i = 1 To UBound(tablo)
            p = InStr(tablo(i, 6), "points=")
            If p Then resu(i, 1) = "<path id=""" & Format(i, "00") & """ title=""" & tablo(i, 1) & """ d=""M" & Mid(tablo(i, 6), p + 8)
        Next
        .Columns(6) = resu
    End With
    End Sub
    Le fichier en retour.

    A+
     

    Pièces jointes:

  4. maval

    maval XLDnaute Barbatruc

    Inscrit depuis le :
    11 Mai 2012
    Messages :
    2073
    "J'aime" reçus :
    6
    Bonjour Job
    Sur la première ligne j'ai plus de nom de commune sur les autres j'ai pas le title ni le N°

    Ou alors je me suis planter

    Max
     
  5. job75

    job75 XLDnaute Barbatruc

    Inscrit depuis le :
    15 Mai 2008
    Messages :
    26015
    "J'aime" reçus :
    2233
    Sexe :
    Masculin
    Habite à:
    Paris
    Utilise:
    Excel 2013 (PC)
    Je suppose que vous avez bricolé le code que j'ai donné car le fichier du post #2 donne le résultat demandé.
     
  6. maval

    maval XLDnaute Barbatruc

    Inscrit depuis le :
    11 Mai 2012
    Messages :
    2073
    "J'aime" reçus :
    6
    Re,

    Je n'est rien bricoler j'ai téléchargé votre fichier est appuyer sur Concatener et sur la première ligne je n'est pas de nom de commune
     
  7. job75

    job75 XLDnaute Barbatruc

    Inscrit depuis le :
    15 Mai 2008
    Messages :
    26015
    "J'aime" reçus :
    2233
    Sexe :
    Masculin
    Habite à:
    Paris
    Utilise:
    Excel 2013 (PC)
    Alors c'est que votre version Excel est vérolée, je ne peux rien faire de plus.
     

Partager cette page