Partager via

separer n° et nom des rue

Anonyme
2020-09-02T08:44:42+00:00

Bonjour a toutes et tous,

merci de lire mon post

je tente de séparer le numéro et la rue d'une adresse dans 2 cellules.

j ai un fichier excel avec ce type d'adresse

1 Place Roger Salengro

Espace du foot Des 4 Chemins 7 Route Varton

24 Rue Egalité

Entrée C 1 Rue Four

j'utilise cette macro

' Extraire N° et adresse

Application.ScreenUpdating = False

[D2].FormulaR1C1 = _

"=LEFT(RC[1],SUMPRODUCT(ISNUMBER(MID(RC[1],ROW(OFFSET(    R1C1,,,LEN(RC[1]))),1)*1)*1))"

[D2].AutoFill Destination:=Range("D2:D" & Fin)

Range("E2").EntireColumn.Insert

[E2].FormulaR1C1 = "=TRIM(RIGHT(RC[1],LEN(RC[1])-LEN(RC[-1])))"

Range("E2").AutoFill Destination:=Range("E2:E" & Fin)

Range("D2:F" & Fin).Value = Range("D2:F" & Fin).Value

Columns("F:F").Delete

Application.CutCopyMode = False

Application.ScreenUpdating = True

j'ai un problème, sur certaines lignes, ça fonctionne parfaitement et de temps en temps, j ai ce type de resultats

colonne D                          colonne E

Espace                                du foot Des 4 Chemins 7 Route Varton

24 R                                    ue Egalité

Avez vous une idée sur ce qui cause cette erreur ?

en vous remerciant par avance

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

Réponse acceptée par l’auteur de la question

  1. DanielCo 107.7K Points de réputation
    2020-09-03T14:30:41+00:00

    C'est une ânerie de VBA. Il transforme le "1 A" en heure (1 AM = 1 heure du matin). Pour éviter ça mets une apostrophe en tête de la cellule ; ça transforme "1 A" en chaîne de texte et VBA n'y touche pas :

    C.Offset(, 1) = "'" & C.Offset(, 1) & " " & Split(C.Offset(, 2).Value, " ")(0)

    au lieu de :

    C.Offset(, 1) = C.Offset(, 1) & " " & Split(C.Offset(, 2).Value, " ")(0)

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire

14 réponses supplémentaires

  1. Anonyme
    2020-09-02T12:06:53+00:00

    Bonjour daniel,

    je ne suis pas bon en macro, je tente des choses qui ne fonctionne pas toujours bien.

    a la base j ai un fichier excel

    Société  /   activité  /  Adresse /   CP  /    Ville  /    Tel N°1 /     Fax  /    mobile  /    Email  /   Site internet

    j'utilise une macro qui me le transforme en :

    Contact  /   nom   /  prénom  /  adresse   /   CP    /  Ville   /  Canton  /   Tel N°1    /   Tel N°2    /   Mobile    /   e-mail   /   Activité

    et maintenant je souhaite séparer le num et la rue de l'adresse

    est il possible de déposer un fichier pour te donner un exemple ?

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. DanielCo 107.7K Points de réputation
    2020-09-02T10:15:35+00:00

    La formule s'écrit en D2. Elle écrase les données ??? Que représente le DECALER à partir de A1 ?

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Anonyme
    2020-09-02T09:55:44+00:00

    Bonjour Daniel,

    merci de vous intéresser à mon problème

    les adresses sont dans la colonne D

    cordialement

    Laurent

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. DanielCo 107.7K Points de réputation
    2020-09-02T09:27:13+00:00

    Bonjour,

    Dans quelle colonne se trouvent les données au début ?

    Cordialement.

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire