Séparer des valeurs numérique dans d'autres cellules

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

olibelle0101

XLDnaute Occasionnel
Bonjour à tous?

Après une longue recherche, je ne trouve pas de solution.

Une formule de recherche me donne ce résultat en (C46) 12 - 2 - 4 - 9 - 10 - 7 - 8 - 11
J'aimerai avoir en B46 ------ 12
B47 ------ 2
B48 ------ 4
B49 ------ 9
B50 -------10
En sachant, que je peux avoir des valeurs à 1 ou 2 chiffres.
Et que je n'arrive pas à convertir ma cellule C46, car il y a une formule...
J'espère avoir été assez clair.
Comment peut-on convertir par separation (espace ou tiret) si il y a une formule ???
Bien cordialement.
 
Re : Séparer des valeurs numérique dans d'autres cellules

Bonjour olibelle,0101, bonjour R@chid 🙂

Données convertir (séparateur : "-")
Copier la zone résultat, copier avec transposition.
Avec l'enregistreur de macro (après avoir supprimé les "select" inutiles) cela donne :
VB:
Sub Macro1()


   Range("C46").TextToColumns Destination:=Range("C46"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
        :="-", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, _
        1), Array(6, 1), Array(7, 1), Array(8, 1)), TrailingMinusNumbers:=True
    Range("C46:J46").Copy
    Range("B46").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
End Sub
 
Re : Séparer des valeurs numérique dans d'autres cellules

Re,

Pour le nouveau problème du post #5 :

Code:
Sub Transposer()
Dim i
For i = 1 To 66 Step 5
Cells(i, 2).Resize(5) = Application.Transpose(Split(Cells(i, 3), "-"))
Next
End Sub
A+
 
Re : Séparer des valeurs numérique dans d'autres cellules

Re,

La colonne C n'est pas nécessaire, on peut utiliser directement les données de la colonne P :

Code:
Sub Transposer()
Dim i, j, s, h
For i = 1 To 66 Step 5 'limites à adapter
  Cells(i, 2).Resize(5) = "" 'RAZ
  j = Application.Match(Cells(i, 1), [P:P], 0)
  If IsNumeric(j) Then
    s = Split(Cells(j + 1, "P"), "-")
    h = IIf(UBound(s) < 4, UBound(s) + 1, 5)
    If h Then Cells(i, 2).Resize(h) = Application.Transpose(s)
  End If
Next
End Sub
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
504
Réponses
11
Affichages
690
Retour