Comment enlever une lettre sous VBA

Le
Calou
Bonjour les amis,

Encore quelque chose que je ne sais pas faire sous VBA !! J'ai
récupéré une liste avec des matricules de 1 à 5 numériques et sou=
vent
une lettre.
Comment faire pour identifier la lettre et la supprimer ?

Un grand merci par avance de votre aide.

Bonne journée.

Amicalement

Philippe
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #21465761
Bonjour.
Sélectionne la plage à traiter et exécute la macro :

Sub test()
Dim c As Range, txt As String
For Each c In Selection
txt = ""
For i = 1 To Len(c.Value)
If Asc(Mid(c.Value, i, 1)) < 57 Then
txt = txt & Mid(c.Value, i, 1)
End If
Next i
c.Value = txt
Next c
End Sub

Cordialement.
Daniel

Bonjour les amis,

Encore quelque chose que je ne sais pas faire sous VBA !! J'ai
récupéré une liste avec des matricules de 1 à 5 numériques et souvent
une lettre.
Comment faire pour identifier la lettre et la supprimer ?

Un grand merci par avance de votre aide.

Bonne journée.

Amicalement

Philippe
Jacky
Le #21465861
Bonjour,

S'il y a lettre, est-elle toujours en dernière position ??

--
Salutations
JJ


"Calou"
Bonjour les amis,

Encore quelque chose que je ne sais pas faire sous VBA !! J'ai
récupéré une liste avec des matricules de 1 à 5 numériques et souvent
une lettre.
Comment faire pour identifier la lettre et la supprimer ?

Un grand merci par avance de votre aide.

Bonne journée.

Amicalement

Philippe
Tatanka
Le #21466141
Bonjour Calou,

Cette macro enlève de chaque cellule de ta sélection
tout ce qui n'est pas numérique. Ça te convient ?

Sub Garder_Chiffres_Seulement()
Dim c As Range
For Each c In Selection
v = c.Value
For i = 1 To Len(v)
x = Mid(v, i, 1)
If IsNumeric(x) Then nv = nv & x
Next i
c.Value = nv
nv = ""
Next c
End Sub

Serge


"Calou"
Bonjour les amis,

Encore quelque chose que je ne sais pas faire sous VBA !! J'ai
récupéré une liste avec des matricules de 1 à 5 numériques et souvent
une lettre.
Comment faire pour identifier la lettre et la supprimer ?

Un grand merci par avance de votre aide.

Bonne journée.

Amicalement

Philippe
michdenis
Le #21466121
Bonjour,

Une autre approche :
en adaptant le nom de la feuille et de la plage de cellules
'------------------------
Sub test()
Dim C As Range, S As Variant, A As Integer
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each C In Worksheets("Feuil1").Range("A1:A5")
For A = 1 To Len(C)
If CStr(Mid(C, A, 1)) Like "[0-9]" Then
S = S & Mid(C, A, 1)
End If
Next
C = S
S = ""
Next
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
'------------------------



"Calou" :
Bonjour les amis,

Encore quelque chose que je ne sais pas faire sous VBA !! J'ai
récupéré une liste avec des matricules de 1 à 5 numériques et souvent
une lettre.
Comment faire pour identifier la lettre et la supprimer ?

Un grand merci par avance de votre aide.

Bonne journée.

Amicalement

Philippe
Jacky
Le #21466111
Bonjour Daniel

???
If Asc(Mid(c.Value, i, 1)) < 57 Then

Tu es fâché avec le "9"
;o)))

--
Salutations
JJ


"Daniel.C" eMJQ%
Bonjour.
Sélectionne la plage à traiter et exécute la macro :

Sub test()
Dim c As Range, txt As String
For Each c In Selection
txt = ""
For i = 1 To Len(c.Value)
If Asc(Mid(c.Value, i, 1)) < 57 Then
txt = txt & Mid(c.Value, i, 1)
End If
Next i
c.Value = txt
Next c
End Sub

Cordialement.
Daniel

Bonjour les amis,

Encore quelque chose que je ne sais pas faire sous VBA !! J'ai
récupéré une liste avec des matricules de 1 à 5 numériques et souvent
une lettre.
Comment faire pour identifier la lettre et la supprimer ?

Un grand merci par avance de votre aide.

Bonne journée.

Amicalement

Philippe




Daniel.C
Le #21466301
Bonjour. Ce que c'est que de ne pas tester ;-)))

Plutôt :

Sub test()
Dim c As Range, txt As String
For Each c In Selection
txt = ""
For i = 1 To Len(c.Value)
If Asc(Mid(c.Value, i, 1)) <= 57 Then
txt = txt & Mid(c.Value, i, 1)
End If
Next i
c.Value = txt
Next c
End Sub

Daniel

Bonjour Daniel

???
If Asc(Mid(c.Value, i, 1)) < 57 Then

Tu es fâché avec le "9"
;o)))

--
Salutations
JJ


"Daniel.C" eMJQ%
Bonjour.
Sélectionne la plage à traiter et exécute la macro :

Sub test()
Dim c As Range, txt As String
For Each c In Selection
txt = ""
For i = 1 To Len(c.Value)
If Asc(Mid(c.Value, i, 1)) < 57 Then
txt = txt & Mid(c.Value, i, 1)
End If
Next i
c.Value = txt
Next c
End Sub

Cordialement.
Daniel

Bonjour les amis,

Encore quelque chose que je ne sais pas faire sous VBA !! J'ai
récupéré une liste avec des matricules de 1 à 5 numériques et souvent
une lettre.
Comment faire pour identifier la lettre et la supprimer ?

Un grand merci par avance de votre aide.

Bonne journée.

Amicalement

Philippe




Jacquouille
Le #21466481
En ces temps de Pâques, Jacky nous a pondu .....


"Jacky"
Bonjour Daniel

???
If Asc(Mid(c.Value, i, 1)) < 57 Then

Tu es fâché avec le "9"
;o)))

--
Salutations
JJ




--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.
Calou
Le #21466641
On 30 mar, 16:10, "Jacquouille"
En ces temps de Pâques, Jacky nous a pondu .....

"Jacky"

> Bonjour Daniel

> ???
> If Asc(Mid(c.Value, i, 1)) < 57 Then

> Tu es fâché avec le "9"
> ;o)))

> --
> Salutations
> JJ

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.



Bonjour

Un grand merci à vous tous de votre travail et de votre rapidité !!
Je vais étudier tout cela !!

Boonne fin de journée

Philippe
Publicité
Poster une réponse
Anonyme