Afficher tous les mots entre les virgules d'une cellule vers des lignes
Fermé
accdr
Messages postés
7
Date d'inscription
vendredi 3 avril 2020
Statut
Membre
Dernière intervention
7 avril 2020
-
Modifié le 7 avril 2020 à 11:43
accdr Messages postés 7 Date d'inscription vendredi 3 avril 2020 Statut Membre Dernière intervention 7 avril 2020 - 7 avril 2020 à 12:29
accdr Messages postés 7 Date d'inscription vendredi 3 avril 2020 Statut Membre Dernière intervention 7 avril 2020 - 7 avril 2020 à 12:29
A voir également:
- Afficher tous les mots entre les virgules d'une cellule vers des lignes
- Aller à la ligne dans une cellule excel - Guide
- Afficher mot de passe wifi android - Guide
- Où trouver tous les mots de passe enregistrés ? - Guide
- Le fichier contient une liste de prénoms. triez ce tableau par ordre alphabétique des prénoms. quel mot est formé par les 6 premières lettres de la colonne code ? - Forum Bureautique
- Afficher toutes les lignes masquées excel ✓ - Forum Excel
3 réponses
jee pee
Messages postés
39583
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
18 avril 2024
9 225
7 avril 2020 à 11:52
7 avril 2020 à 11:52
Bonjour,
A mettre en B1 et dupliquer vers le bas :
Totalement pris sur : https://forum.excel-pratique.com/viewtopic.php?t=14153
A mettre en B1 et dupliquer vers le bas :
=SI(NBCAR($A$1)-NBCAR(SUBSTITUE($A$1;",";""))+1<LIGNES($1:1);"";SI(LIGNES($1:1)>NBCAR($A$1)-NBCAR(SUBSTITUE($A$1;",";""));DROITE($A$1;NBCAR($A$1)-TROUVE("^^";SUBSTITUE($A$1;",";"^^";NBCAR($A$1)-NBCAR(SUBSTITUE($A$1;",";"")))));SI(LIGNES($1:1)=1;STXT($A$1;1;TROUVE("^^";SUBSTITUE($A$1;",";"^^";1))-1);STXT($A$1;TROUVE("^^";SUBSTITUE($A$1;",";"^^";LIGNES($1:1)-1))+1;TROUVE("^^";SUBSTITUE($A$1;",";"^^";LIGNES($1:1)))-TROUVE("^^";SUBSTITUE($A$1;",";"^^";LIGNES($1:1)-1))-1))))
Totalement pris sur : https://forum.excel-pratique.com/viewtopic.php?t=14153
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
337
Modifié le 7 avril 2020 à 12:27
Modifié le 7 avril 2020 à 12:27
Bonjour accdr,
Je ne souhaite pas utiliser l'assistant de conversion ou une requête, car cette ligne change en fonction de mes clients, donc les destinations peuvent être à des places différentes et avec un nombres de lettres différents aussi.
Voici une proposition qui donne le résultat dans un encart plutôt que des cellules de destination vu qu'on sait pas si les lignes de destinations seront libres ou pas. On peut bien sûr mettre des cellules de destination à la place de l'encart.
La macro réagit lors d'un double-clic sur la cellule à tester
le fichier
https://mon-partage.fr/f/vmYk6XQ3/
Le code associé, macro dans le module de la feuille
Cdlt
Je ne souhaite pas utiliser l'assistant de conversion ou une requête, car cette ligne change en fonction de mes clients, donc les destinations peuvent être à des places différentes et avec un nombres de lettres différents aussi.
Voici une proposition qui donne le résultat dans un encart plutôt que des cellules de destination vu qu'on sait pas si les lignes de destinations seront libres ou pas. On peut bien sûr mettre des cellules de destination à la place de l'encart.
La macro réagit lors d'un double-clic sur la cellule à tester
le fichier
https://mon-partage.fr/f/vmYk6XQ3/
Le code associé, macro dans le module de la feuille
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Application.ScreenUpdating = False Texte = [A1] Crit = Split(Texte, ",") For k = 0 To UBound(Crit) Liste = Liste & Chr(10) & Trim(Crit(k)) Next MsgBox Trim(Liste) End Sub
Cdlt
franc38
Messages postés
197
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
27 février 2023
38
7 avril 2020 à 11:56
7 avril 2020 à 11:56
Bonjour
Par macro
cliquer sur le nom de la feuille avec le bouton droit
choisir visualiser le code
copier la macro ci dessous
A+ François
Par macro
cliquer sur le nom de la feuille avec le bouton droit
choisir visualiser le code
copier la macro ci dessous
Private Sub CommandButton1_Click() 'transposer
Dim i As Long, lig As Long
lig = 1
For i = 1 To Len(Range("A1").Value)
If Mid(Range("A1").Value, i, 1) <> "," Then
Range("B" & lig).Value = Range("B" & lig).Value + Mid(Range("A1").Value, i, 1)
Else
lig = lig + 1
End If
Next
End Sub
A+ François
7 avril 2020 à 12:29
Belle journée,