Fonction VBA separation de données

Fermé
wuhrlinanthony Messages postés 52 Date d'inscription mercredi 29 juillet 2015 Statut Membre Dernière intervention 5 juillet 2017 - 5 août 2015 à 14:19
wuhrlinanthony Messages postés 52 Date d'inscription mercredi 29 juillet 2015 Statut Membre Dernière intervention 5 juillet 2017 - 6 août 2015 à 07:30
Bonjour,

J'essaye éperdument de trouver une manière d'extraire des données d'une cellule pour les importer dans des cellules séparer mais sans succès.

Voila mon problème : J'ai une cellule qui est rempli d'un chiffre puis d'un mot et encore d'un chiffre puis un mot etc.

Et je veux exporter les chiffres dans une colonne (avec chaque chiffre sur une ligne) et les mots dans la colonne d'a coté (avec chaque mot sur une ligne).

J'ai trouver des fonctions Excel mais que pour deux mots .

Y-a-t 'il la possibilité de réaliser un code vba qui donne une fonction qui me permettrai de faire cela car j'ai beaucoup de cellule a extraire.

Je vous joins un fichier excel de façon que ce soit plus compréhensibles.

https://www.cjoint.com/c/EHfmsS4i8LU

Merci d'avance.

6 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 5/08/2015 à 15:15
Bonjour,

essaies cette macro paramétrée
Option Explicit
'-----------
Sub xxxx()
Application.ScreenUpdating = False
separer_mot_nombre "B3", 3, 3, 4
End Sub
'-------------
Sub separer_mot_nombre(adresse, Lig, Col_nbre, Col_mot)
Dim Separe, Cptr As Integer
With ActiveSheet
Separe = Split(Range(adresse))
For Cptr = 0 To UBound(Separe)
If IsNumeric(Separe(Cptr)) Then
.Cells(Lig, Col_nbre) = Separe(Cptr)
Else
.Cells(Lig, Col_mot) = Separe(Cptr)
Lig = Lig + 1
End If
Next
End With

End Sub


Michel
0
wuhrlinanthony Messages postés 52 Date d'inscription mercredi 29 juillet 2015 Statut Membre Dernière intervention 5 juillet 2017
5 août 2015 à 15:13
Merci , mais ta macro me décale une ligne sur deux les mots et chiffres
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
5 août 2015 à 15:16
Je viens de rectifier
la macro paramétrée permet de traiter plusieurs cellules
0
wuhrlinanthony Messages postés 52 Date d'inscription mercredi 29 juillet 2015 Statut Membre Dernière intervention 5 juillet 2017 > michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023
5 août 2015 à 16:57
Tu pourrais me renvoyer ta macro avec la réctif que tu as fait pour enlever le décalage de 2 lignes a chaque fois ?

Merci
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
5 août 2015 à 17:16
Bonjour,

michel a édité son post 1 à 15:15
eric
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
5 août 2015 à 18:23
wuhr... etc....Y
excuses moi d'avoir voulu essayer de t'aider...
0
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
5 août 2015 à 15:08
Bonjour

Un début de réponse, du moins avec ce que j'ai compris
http://www.cjoint.com/c/EHfnhjTMOII

Cdlmnt
0
wuhrlinanthony Messages postés 52 Date d'inscription mercredi 29 juillet 2015 Statut Membre Dernière intervention 5 juillet 2017
5 août 2015 à 15:15
Merci , c'est exactement ce que je voulais.

Est-ce qu'il y a une possibilité de passer la macro en fonction ? Car j'ai beaucoup de cellule où je dois réaliser la même manip.

Merci
0
wuhrlinanthony Messages postés 52 Date d'inscription mercredi 29 juillet 2015 Statut Membre Dernière intervention 5 juillet 2017
5 août 2015 à 16:34
Merci ccm81 , c'est exactement ce que je voulais.

Est-ce qu'il y a une possibilité de passer la macro en fonction ? Car j'ai beaucoup de cellule où je dois réaliser la même manip.

Merci
0
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
5 août 2015 à 16:34
1. Est-ce qu'il y a une possibilité de passer la macro en fonction ? Car j'ai beaucoup de cellule où je dois réaliser la même manip.
Je ne pense pas que ce soit possible, une fonction renvoie UN résultat
Par contre, pour appliquer à plusieurs cellules, il faut plus de précision sur
- la plage à traiter (est elle constituée de cellules consécutives, en ligne, en colonne, les deux
- la plage résultat : une plage par cellule, tous les résultats en une seule plage,
- etc ...
Le mieux serait d'avoir un bout de fichier montrant la configuration des données à traiter et des résultats attendus
2. As tu essayé la macro de Michel (salut à toi au passage) qui traite déjà plusieurs cellules
Cdlmn
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
5 août 2015 à 17:59
Il est possible de faire pas mal de choses, encore faut il savoir quoi, comment, etc ...
Sans un bout de fichier significatif, je ne pense pas pourvoir t'aider

Cdlmnt
0
wuhrlinanthony Messages postés 52 Date d'inscription mercredi 29 juillet 2015 Statut Membre Dernière intervention 5 juillet 2017
5 août 2015 à 16:39
Si on ne peut pas passer la macro en fonction , est ce que c'est possible d'ajouter une ligne de code pour sélectionner la cellule directement (quelque chose comme "Range ")au lieu de sélectionner la cellule manuellement ?
-2