Scinder une cellule Excel

Bonjour,

Je souhaiterais scinder une cellule en deux colonnes à savoir que dans la première cellule la macro va garder le premier mot et dans la deuxième cellule la macro devra copier le reste, exemple :

[Asus Chromebook Flip C213 Touch] --> [Asus] [Chromebook Flip C213 Touch]
[DELL Latitude E6430] --> [DELL] [Latitude E6430]

Est ce que quelqu'un a une idée SVP d'une macro à mettre en place ?

Merci beaucoup !

3 réponses

  1. Bonjour

    Oui , macro à mettre dans le worksheet de la feuille concernée et qui se lance par double-clic dans la cellule à scinder :;
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    nt = WorksheetFunction.Substitute(Target, " ", "/", 1)' remplace le 1er espace par un /
    tablo = Split(nt, "/") 'scinde la chaine en fonction du /
    x = Target.Row ' ligne de la cellule
    y = Target.Column' colonne de la cellile
    Cells(x, y) = tablo(0) ' inscription 1ere partie scindée dans la cellule
    Cells(x, y + 1) = tablo(1)' inscription 2nde partie scindée dans la cellule de droite
    End Sub

    Si les cellules peuvent contenir des / remplacer ce signe dans la macro par un autre non utilisé
    Cdlmnt
    Via

    0
    1. Merci beaucoup, macro fonctionnelle, je l'ai appliqué et ça marche bien, j'ai juste une question,

      Est ce qu'il y a un moyen de lancer l'exécution sur toute la colonne sans devoir cliquer sur chaque cellule (car la en fait j'ai un fichier de 300 entrées), j'ai essayé de sélectionner toute la colonne et appliquer le double clique mais ça n'a pas marché.

      Excellente journée !
      0
      1. Re,

        En ce cas modifie la macro ainsi :
        Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
        ligne = Columns(Target.Column).Find("*", , , , xlByColumns, xlPrevious).Row 'dernière ligen non vide
        y = Target.Column ' colonne de la cellile
        For x = Target.Row To ligne 'boucle sur les lignes depuis le double-clic jusqu'au bas de la colonne
        nt = WorksheetFunction.Substitute(Cells(x, y).Value, " ", "/", 1) ' remplace le 1er espace par un /
        tablo = Split(nt, "/") 'scinde la chaine en fonction du /
        Cells(x, y) = tablo(0) ' inscription 1ere partie scindée dans la cellule
        Cells(x, y + 1) = tablo(1) ' inscription 2nde partie scindée dans la cellule de droite
        Next
        End Sub

        Le double-clic est à effectuer dans la 1ere cellule à traiter
        1
        1. Ah super ! ça marche bien ... très reconnaissant pour l'aide.
          0