Scinder chaine de valeurs et copier vers des cellules distinctes

almoha

XLDnaute Nouveau
Bonjour,

J'ai dans une seule cellule une chaine du type :
Code:
504,08+196,92+140,35+239,35+434,38+330,12+143,84+61,77+198,24 etc
Je souhaiterais récupérer chaque valeur séparée par les + dans des cellules distinctes :
Code:
504,08
196,92
140,35
etc
Comment puis-je procéder ? Merci.
 

TempusFugit

XLDnaute Impliqué
Re : Scinder chaine de valeurs et copier vers des cellules distinctes

Bonjour


En utilisant le VBA.

et notamment Split.

Code:
Dim Valeurs As Variant
Valeurs = Split(Range("A1").Text, "+")
Range("B1").Resize(UBound(Valeurs) + 1) = Application.Transpose(Valeurs)
 
Dernière édition:

almoha

XLDnaute Nouveau
Re : Scinder chaine de valeurs et copier vers des cellules distinctes

Merci pour la réponse. Mais en essayant le code, j'ai une erreur de compilation : "nombre d'arguments incorrect ou affectation de propriété incorrecte". Que faut-il modifier pour arriver au résultat escompté ? Merci.
 

TempusFugit

XLDnaute Impliqué
Re : Scinder chaine de valeurs et copier vers des cellules distinctes

Bonjour


Tu as bien saisi le code ainsi ?
Code:
Sub Macro()
Dim Valeurs As Variant
Valeurs = Split(Range("A1").Text, "+")
Range("B1").Resize(UBound(Valeurs) + 1) = Application.Transpose(Valeurs)
End Sub

Ci-dessous une macro modifiée pour être sur qu'il y a des données en A1.
(A tester dans un nouveau classeur)
VB:
Sub MacroTest()
Dim Valeurs As Variant, test
test = Array(1, 23, 456, 789, 1012)' ligne utile pour le test (a supprimer ensuite)
Range("A1") = Join(test, "+")' ligne utile pour le test (a supprimer ensuite)
Valeurs = Split(Range("A1").Text, "+")
Range("B1").Resize(UBound(Valeurs) + 1) = Application.Transpose(Valeurs)
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 332
Messages
2 087 361
Membres
103 530
dernier inscrit
Chess01