Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…