Bonjour,
Je suis nouveau sur Excel download et j'ai découvert VBA, dans le même temps. Je cherche à passer d'une colonne dont les cellules contiennent des valeurs numériques séparées par des "," (nombre de valeurs inconnu dans chaque cellule) à une nouvelle colonne contenant toutes les valeurs . J'ai trouvé la réponse qui avait été faite en octobre 2019 par Staple1600.
Cela fonctionne avec un nombre limité de cellules, mais au delà j'ai un message "Erreur d'exécution '13': Incompatibilité de type".
Et quand je fais Debogage il pointe sur strVal = Join(Application.Transpose(vArr), ",")
J'ai une colonne de 6000 cellules et un total de 7000 x valeur numériques
Vous trouverez ci-dessous la macro VBA avec laquelle je me débats.
Sub PourTest()
Columns(1).Clear
[A1] = "5390004542"
[A2] = "5390004545"
[A3] = "5390004548, 5390004549"
[A4] = "5390004557"
[A5] = "5390004567, 5390004568"
[A6] = "5390004886, 5390004887, 5390004892, 5390004894, 5390004895, 5390004897, 5390004898, 5390004899, 5390004905, 5390004907, 5390004912, 5390004913, 5390004915, 5390004916, 5390004919, 5390004921, 5390004924, 5390004925, 5390004933"
[A7] = "5390013031"
[A8] = "5390027139, 5390073116"
[A9] = "5390030782, 5390030784, 5390030785"
[A10] = "5390047424, 5390047425, 5390047426, 5390047427, 5390047428"
[A11] = "5390056155, 5390056156, 5390056158, 5390056159, 5390056389, 5390056390, 5390056391, 5390056392, 5390056393, 5390059753, 5390059754, 5390059755, 5390059757, 5390059759, 5390059760, 5390059762, 5390059763, 5390059764, 5390060750, 5390060751, 5390060752, 5390060753, 5390060849, 5390060850, 5390060852, 5390060853, 5390060941, 5390060942"
[A12] = "5390063667"
[A13] = "5390063759"
[A14] = "5390081979, 5390081980, 5390083595, 5390083596, 5390083621"
[A15] = "5390082614, 5390082617"
[A16] = "5390089992, 5390099824, 5390099825"
[A17] = "5390092251"
[A18] = "5390092640"
MsgBox "Procéder à l'empilement...", vbQuestion, "Test"
Empiler
End Sub
Sub Empiler()
Dim vArr, strVal$, vOut, i&
vArr = Range("A1:A18")
strVal = Join(Application.Transpose(vArr), ",")
vOut = Split(strVal, ",")
Cells(1).Resize(UBound(vOut) + 1) = Application.Transpose(vOut)
End Sub
Merci par avance pour votre aide, remarques ou commentaires.
Cordialement
MJ
Je suis nouveau sur Excel download et j'ai découvert VBA, dans le même temps. Je cherche à passer d'une colonne dont les cellules contiennent des valeurs numériques séparées par des "," (nombre de valeurs inconnu dans chaque cellule) à une nouvelle colonne contenant toutes les valeurs . J'ai trouvé la réponse qui avait été faite en octobre 2019 par Staple1600.
Cela fonctionne avec un nombre limité de cellules, mais au delà j'ai un message "Erreur d'exécution '13': Incompatibilité de type".
Et quand je fais Debogage il pointe sur strVal = Join(Application.Transpose(vArr), ",")
J'ai une colonne de 6000 cellules et un total de 7000 x valeur numériques
Vous trouverez ci-dessous la macro VBA avec laquelle je me débats.
Sub PourTest()
Columns(1).Clear
[A1] = "5390004542"
[A2] = "5390004545"
[A3] = "5390004548, 5390004549"
[A4] = "5390004557"
[A5] = "5390004567, 5390004568"
[A6] = "5390004886, 5390004887, 5390004892, 5390004894, 5390004895, 5390004897, 5390004898, 5390004899, 5390004905, 5390004907, 5390004912, 5390004913, 5390004915, 5390004916, 5390004919, 5390004921, 5390004924, 5390004925, 5390004933"
[A7] = "5390013031"
[A8] = "5390027139, 5390073116"
[A9] = "5390030782, 5390030784, 5390030785"
[A10] = "5390047424, 5390047425, 5390047426, 5390047427, 5390047428"
[A11] = "5390056155, 5390056156, 5390056158, 5390056159, 5390056389, 5390056390, 5390056391, 5390056392, 5390056393, 5390059753, 5390059754, 5390059755, 5390059757, 5390059759, 5390059760, 5390059762, 5390059763, 5390059764, 5390060750, 5390060751, 5390060752, 5390060753, 5390060849, 5390060850, 5390060852, 5390060853, 5390060941, 5390060942"
[A12] = "5390063667"
[A13] = "5390063759"
[A14] = "5390081979, 5390081980, 5390083595, 5390083596, 5390083621"
[A15] = "5390082614, 5390082617"
[A16] = "5390089992, 5390099824, 5390099825"
[A17] = "5390092251"
[A18] = "5390092640"
MsgBox "Procéder à l'empilement...", vbQuestion, "Test"
Empiler
End Sub
Sub Empiler()
Dim vArr, strVal$, vOut, i&
vArr = Range("A1:A18")
strVal = Join(Application.Transpose(vArr), ",")
vOut = Split(strVal, ",")
Cells(1).Resize(UBound(vOut) + 1) = Application.Transpose(vOut)
End Sub
Merci par avance pour votre aide, remarques ou commentaires.
Cordialement
MJ
Dernière édition: