Excel: macro pour convertir une colonne
Résolu
Ludivine
-
Ludivine -
Ludivine -
Bonjour à tous, je souhaite intégrer une macro qui fasse le "ménage" dans une cellule:
en cellule D2 par exemple j'ai :
NQ: New password: 1234567891;
Je souhaite que la macro ne garde que la série de 10 chiffres sans aucun autre signe, ni espace, ni point virgule ni rien, juste la série de 10 chiffres et ce, toujours en D2.
Après macro je voudrait que D2 ne contienne plus que :
1234567891
Et que la macro fonctionne sur toutes les lignes (sauf la 1) ou la colonne D est remplie !
Merci beaucoup de votre aide !!
en cellule D2 par exemple j'ai :
NQ: New password: 1234567891;
Je souhaite que la macro ne garde que la série de 10 chiffres sans aucun autre signe, ni espace, ni point virgule ni rien, juste la série de 10 chiffres et ce, toujours en D2.
Après macro je voudrait que D2 ne contienne plus que :
1234567891
Et que la macro fonctionne sur toutes les lignes (sauf la 1) ou la colonne D est remplie !
Merci beaucoup de votre aide !!
A voir également:
- Excel: macro pour convertir une colonne
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel trier par ordre croissant chiffre - Guide
5 réponses
bonjour
est ce que les mdp sont toujours sous la forme
xxxxxxxx suite de chiffres suivi d'un point virgule
bonne suite
est ce que les mdp sont toujours sous la forme
xxxxxxxx suite de chiffres suivi d'un point virgule
bonne suite
est ce que toutes les cellules sont de la forme
NQ: New password: 1234567891;
où le mdp
- commence après NQ: New password:
- se termine à la fin du texte (ici le ";")
en gros est ce qu'il s'agit juste de nettoyer la partie gauche de la cellule
NQ: New password: 1234567891;
où le mdp
- commence après NQ: New password:
- se termine à la fin du texte (ici le ";")
en gros est ce qu'il s'agit juste de nettoyer la partie gauche de la cellule
une proposition
mode d'emploi
- selectionner la plage à traiter
- lancer la macro
RQ. j'ai mis un espace après le dernier ":"
bonne suite
Public Sub NettoieMdp() For Each c In Selection c.Value = Replace(c.Value, "NQ: New password: ", "") Next c End Sub
mode d'emploi
- selectionner la plage à traiter
- lancer la macro
RQ. j'ai mis un espace après le dernier ":"
bonne suite
dans ma proposition le ";" fait partie du mdp
Si le texte se termine éventuellement par un caractère non numérique qui ne fait pas partie du mdp, on le supprime
c'est à peine plus compliqué
bonne suite
Si le texte se termine éventuellement par un caractère non numérique qui ne fait pas partie du mdp, on le supprime
c'est à peine plus compliqué
Public Sub NettoieMdp() Dim s As String For Each c In Selection s = c.Value s = Replace(s, "NQ: New password: ", "") If Not IsNumeric(Right(s, 1)) Then s = Left(s, Len(s) - 1) c.Value = s Next c End Sub
bonne suite
Bonjour les 2,
Avec une routine réutilisable sur excel ou access: enlève tout ce qui n'est pas chiffre dans la cellule; renvoie 0 si aucun chiffre
Michel
Avec une routine réutilisable sur excel ou access: enlève tout ce qui n'est pas chiffre dans la cellule; renvoie 0 si aucun chiffre
Function extrait_chiffres(ByRef texto As String) As Long
Dim reg As Object
Dim extraction As Object
Set reg = CreateObject("vbscript.regexp")
reg.Global = True
reg.Pattern = "(\d?\d?\d)"
Set extraction = reg.Execute(texto)
For Each digit In extraction
extrait_chiffres = extrait_chiffres & (digit.Value)
Next digit
Set extraction = Nothing
Set reg = Nothing
End Function
Sub test()
'zone D2:D30
Dim cptr As Byte
For cptr = 2 To 30
Application.ScreenUpdating = False
Cells(cptr, "D") = extrait_chiffres(Cells(cptr, "D"))
Next
End Sub
Michel
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Il n'y a pas de rêgle précise: la suite de 10 chiffres peut etre suivie d'un espace, d'un point virgule, d'une virgule, parfois de rien...
Ca ne dépend pas de moi, ça vient d'un autre service !
MErci!!