MACRO pour supprimer les 5 premiers caratères de la plage B2 à B20000

  • Initiateur de la discussion Initiateur de la discussion chris6999
  • Date de début Date de début

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 !

chris6999

XLDnaute Impliqué
Bonjour à tous


J'ai dans la colonne B de mon fichier (à partir de B2) un code précédé de 5 zéros que je souhaiterais pouvoir supprimer par macro (clic bouton).
La plage est de B2 à B20000.

Existe-t-il un moyen simple de faire cette action?
Je ne recherche pas une formule mais un code macro.

Merci d'avance pour vos réponses
Bonne soirée
 

Pièces jointes

Dernière édition:
Re : MACRO pour supprimer les 5 premiers caratère de la plage B2 à B20000

Salut,
En E2 écrire =CNUM(B2). Cela transforme ton texte en nombre
Tirer la formule vers le bas, puis copier les valeurs à la place des anciennes.
Ça devrait le faire
@+ Lolote83
 
Re : MACRO pour supprimer les 5 premiers caratère de la plage B2 à B20000

Bonjour,

Autre possibilité: tu mets 1 dans une cellule libre, tu la copie (CTRL+C) tu sélectionnes toutes tes données de B2 à C674 click-droit/collage spécial/ et tu coches valeur et multiplication.

A+
 
Re : MACRO pour supprimer les 5 premiers caratères de la plage B2 à B20000

Bonjour,

alors dans un module, essaye çà
Code:
Sub Text_B_to_Num_B()
Dim R As Range
Dim var
Dim i&
Dim j&
Set R = Range("B2:B20000")
var = R
For i& = 1 To UBound(var, 1)
  For j& = 1 To UBound(var, 2)
    If IsNumeric(var(i&, j&)) Then
      var(i&, j&) = CDbl(var(i&, j&))
    End If
  Next j&
Next i&
R = var
End Sub
 
Re : MACRO pour supprimer les 5 premiers caratères de la plage B2 à B20000

bonjour tous
un autre code par macro parmi tant d'autres🙂

Code:
Dim t(), t1(), x As Long, i As Long
 t = Range("b2:b" & Cells(Rows.Count, 2).End(3).Row)
 ReDim t1(1 To UBound(t), 1 To 1)
 For i = 1 To UBound(t)
 x = x + 1: t1(x, 1) = Mid(t(i, 1), 5)
 Next i
 [b2].Resize(x, 1) = t1
 
Re : MACRO pour supprimer les 5 premiers caratères de la plage B2 à B20000

salut

et un autre (dans le module de la feuille)

Sub Efface()
[F:F].FormulaR1C1 = "=REPLACE(RC[-4],1,5,"""")" 'ou autre colonne libre que F
[B:B] = [F:F].Value
[F:F].Delete
End Sub
 
Re : MACRO pour supprimer les 5 premiers caratères de la plage B2 à B20000

Bonjour à tous

chris6999
Pourquoi passer par une macro?
Données/Convertir peut le faire
mais si tu es macrophile 😉 , alors voici
Code:
Sub Macro1()
Selection.TextToColumns Destination:=Range("B1"), DataType:=xlFixedWidth, _
        FieldInfo:=Array(Array(0, 9), Array(5, 1)), TrailingMinusNumbers:=True
End Sub
 
- 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
3
Affichages
667
Retour