Bonjour.
Je souhaiterai faire une macro pour récupérer une chaine séparer par un '-'.
Exemple1--> Cellule1:1012 - Test1
Résultat1--> 1012
Exemple2--> Cellule1:33222 - Test1
Résultat2--> 33222
Merci d'avance pour votre aide.
Bonjour.
Je souhaiterai faire une macro pour récupérer une chaine séparer par un '-'.
Exemple1--> Cellule1:1012 - Test1
Résultat1--> 1012
Exemple2--> Cellule1:33222 - Test1
Résultat2--> 33222
Merci d'avance pour votre aide.
Si toutes tes données ont ce "profil" (1012 - Test1) alors c'est relativement simple
Bonne journée
Code : Sélectionner tout - Visualiser dans une fenêtre à part Result = trim(split(cells(NoLig, NoCol), "-")(0))
Snif...
ça ne marche pas.
J'en profite pour rajouter autre chose...
J'ai ma cellule1 qui contient '1243 - Test'
Comment puis je récupérer '1243' pour la mettre dans une cellulex et ensuite supprimer '1243 - ' dans ma cellule1.
Sachant que le chiffre peut être plus long, quel fonction faut il utiliser?
Il n'y pas une fonction qui indique la position du premier espace?
Et pourquoi pas après faire un left()??
Une solution proposée par Delbeke dans un sujet un peu plus bas :
http://www.developpez.net/forums/d66...ine-caractere/
est d'utiliser la fonction Val() :
Result aura la valeur 10247 dans ce cas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Result = Val("10247 - Test")
Cravis.
C'est à dire ?ça ne marche pas.
Montre le code tel que tu l'utilises.
Sinon, c'est que tu as une ancienne version d'office ; split ne fonctionne qu'après 1997 (!)
(La solution proposée par Cravis est peut-être la meilleure si c'est toujours une valeur que tu veux récupérer)
Bonjour,
Si vous avez une version supérieure à Excel 97 comme indiqué par Ouskel'n'or et compte tenu du fait que vous voulez que la cellule d'origine ne contienne plus que la 2ème partie des données :
Remarque : si le caractère "-" est précédé et suivi d'un espace vous pouvez remplacer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Sub Separe() Dim txt$, Tableau() As String, i&, pc%, pcc%, pl&, dl&, n& '1ère ligne contenant vos données (vous pouvez modifier) pl = 2 'colonne de données (vous pouvez modifier) pc = 1 'dernière contenant vos données (vous pouvez modifier) dl = Range(Cells(65536, pc), Cells(65536, pc)).End(xlUp).Row 'colonne à partir de laquelle les données séparées vont être copiées (vous pouvez modifier) pcc = pc + 1 For n = pl To dl txt = Cells(n, pc) Tableau = Split(txt, "-") For i = 0 To UBound(Tableau) Cells(n, pcc) = Tableau(i) pcc = pcc -1 Next i Next n End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Tableau = Split(txt, "-") par Tableau = Split(txt, " - ")
Partager