Scinder une cellule Excel

Fermé
anas_8320 Messages postés 3 Date d'inscription dimanche 26 juin 2022 Statut Membre Dernière intervention 27 juin 2022 - 26 juin 2022 à 03:17
anas_8320 Messages postés 3 Date d'inscription dimanche 26 juin 2022 Statut Membre Dernière intervention 27 juin 2022 - 27 juin 2022 à 01:21
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

via55 Messages postés 14512 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 janvier 2025 2 742
27 juin 2022 à 00:25
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
anas_8320 Messages postés 3 Date d'inscription dimanche 26 juin 2022 Statut Membre Dernière intervention 27 juin 2022
27 juin 2022 à 01:21
Ah super ! ça marche bien ... très reconnaissant pour l'aide.
0
via55 Messages postés 14512 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 janvier 2025 2 742
Modifié le 26 juin 2022 à 03:44
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
anas_8320 Messages postés 3 Date d'inscription dimanche 26 juin 2022 Statut Membre Dernière intervention 27 juin 2022
26 juin 2022 à 19:58
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