Je suis actuellement en apprentissage du VBA et je bloque sur un problème.
J'aimerais supprimer une partie de texte sur un ensemble de cellules appartenant à une colonne de manière automatique (ce code appartiendras ensuite à une macro plus conséquente).
Comme on peut le voir sur l'exemple associé, mon tableau comporte une colonne "code" dans laquelle j'aimerais éliminer toute la partie après le "~". Par exemple le "92436548AA~F0632~003" devienne "92436548AA".
Mon tableau réel comporte beaucoup plus de lignes (>500) et elles sont variables (d'autres vont s'ajouter avec le temps).
Si quelqu'un a déjà rencontré cette problématique et qu'il trouve une solution merci à lui!!
Bonne journée!
Re : Macro de suppression automatique d'une partie de texte cellulaire.
Bonjour Franckxxx, Chalet53
En VBA, deux propositions:
La simple et lente:
VB:
Sub test()
Dim Rng As Range
With Sheets("Feuil1")
For Each Rng In .Range(.Cells(3, 5), .Cells(.Rows.Count, 5).End(3))
Rng.Value = Split(Rng.Value, "~")(0)
Next Rng
End With
End Sub
La un peu moins simple et plus rapide:
VB:
Sub test_2()
Dim T As Variant, i&, Rng As Range
With Sheets("Feuil1")
Set Rng = .Range(.Cells(3, 5), .Cells(.Rows.Count, 5).End(3))
End With
T = Rng
For i = 1 To UBound(T, 1)
T(i, 1) = Split(T(i, 1), "~")(0)
Next i
Rng = T
End Sub
Re : Macro de suppression automatique d'une partie de texte cellulaire.
Bonjour,
une macro très simple pour comprendre :
Sub test()
For i = 4 To 18 ' i = ligne N°4 à la ligne N°18
' Cells(i, 10) = Colle dans la cellule de la colonne 10 et i pour la ligne N° correspondant
Cells(i, 10) = Split(Cells(i, 5), "~")(0)
Next i
Re : Macro de suppression automatique d'une partie de texte cellulaire.
Bonjour CHALET53, Efgé, laurent950,
Merci à vous, je ne connaissais pas certaines de ses fonctions. En particulier Efgé qui m'a ôté la problématique de variation du nombre de lignes du tableau.
Je les ai adapté à mon fichier réel et cela fonctionne parfaitement!
Bonne journée à vous et merci pour votre partage de connaissances!