Remplac/retire des lettres ds séquen de chifr
Résolu
antonia
-
Mike-31 Messages postés 19572 Date d'inscription Statut Contributeur Dernière intervention -
Mike-31 Messages postés 19572 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
sous EXCEL, dans une base de données de codes articles, j'ai des références numériques (qui vont de une à six chiffres) dont des variantes qui se différencient par une lettre au bout (ex: l'article réf 12025 existe aussi en variante réf 12025B et en 12025C, 12025D, etc.). Pour mes analyses produit, je cherche comment retirer la "lettre" pour ne laisser apparaître que la partie numéraire. Ma liste comporte plus de 40000 lignes dont les 3 quarts affichent ces variantes avec une lettre. En plus, ces cellules sont automatiquement au format TEXTE et non au format NOMBRE. Je n'arrive pas à outiliser le menu remplacer pour que cela s'applique à toute la colonne. Qqun a des suggestions?
sous EXCEL, dans une base de données de codes articles, j'ai des références numériques (qui vont de une à six chiffres) dont des variantes qui se différencient par une lettre au bout (ex: l'article réf 12025 existe aussi en variante réf 12025B et en 12025C, 12025D, etc.). Pour mes analyses produit, je cherche comment retirer la "lettre" pour ne laisser apparaître que la partie numéraire. Ma liste comporte plus de 40000 lignes dont les 3 quarts affichent ces variantes avec une lettre. En plus, ces cellules sont automatiquement au format TEXTE et non au format NOMBRE. Je n'arrive pas à outiliser le menu remplacer pour que cela s'applique à toute la colonne. Qqun a des suggestions?
A voir également:
- Remplac/retire des lettres ds séquen de chifr
- Remplacant de coco - Accueil - Réseaux sociaux
- Ds clock - Télécharger - Bureautique
- Feuille blanche boîte aux lettres - Guide
- Code ascii des lettres - Guide
- Fermeture de Coco : les internautes à la recherche d'un remplaçant - Accueil - Réseaux sociaux
4 réponses
Salut,
Avec une formule toute simple a coller dans une cellule sur la première ligne pour traiter les cellule colonne A et incrémenter vers le bas, (à adapter)
=SI(ESTTEXTE(A1);GAUCHE(A1;NBCAR(A1)-1)*1;A1)
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
Avec une formule toute simple a coller dans une cellule sur la première ligne pour traiter les cellule colonne A et incrémenter vers le bas, (à adapter)
=SI(ESTTEXTE(A1);GAUCHE(A1;NBCAR(A1)-1)*1;A1)
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
antonia
Merci Mike-31, problème résolu! c'est parfait.
Bonjour Antonia,
40000 lignes, waouh!
on va donc passer par une macro qui enlève les lettres presque d'un seul coup
dans cet exemple les ref sont en colonne A ( sur ton appli remplace les range("A....) par la lettre de ta colonne de ref)
Pour installer:
tu fais un copier de ce code
Alt+F11 tu es dans VBA
insertion- module (ou Ctrl+R)
coller
pour lancer:
Dans la feuille Excel:
outils-macros-macro tu sélectionnes "derlettre" exécuter
40000 lignes, waouh!
on va donc passer par une macro qui enlève les lettres presque d'un seul coup
dans cet exemple les ref sont en colonne A ( sur ton appli remplace les range("A....) par la lettre de ta colonne de ref)
Function extrait_nbre(ByRef texto As String) As Double
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_nbre = extrait_nbre & (digit.Value)
Next digit
Set extraction = Nothing
Set reg = Nothing
End Function
Sub derlettre()
Dim derlig As Long
derlig = Range("A65536").End(xlUp).Row
Application.ScreenUpdating = False
Range("A1:A" & derlig) = extrait_nbre(Range("A1").Value)
End Sub
Pour installer:
tu fais un copier de ce code
Alt+F11 tu es dans VBA
insertion- module (ou Ctrl+R)
coller
pour lancer:
Dans la feuille Excel:
outils-macros-macro tu sélectionnes "derlettre" exécuter
Merci pour ta réponse rapide Michel... malheureusement, je n'y comprends rien car je n'ai jamais fait de macro...je vais tout de même tenter de déchiffrer...
merci encore
merci encore
Re,
On te vois de temps en temps sur ce Forum, il serait bien que tu deviennes membre, tu pourrais mettre ton statut en résolu ou demande à la modération de le faire pour toi, clic sur le triange jaune et demande à la modération de mettre le statut en résolu pour toi
Merci
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
On te vois de temps en temps sur ce Forum, il serait bien que tu deviennes membre, tu pourrais mettre ton statut en résolu ou demande à la modération de le faire pour toi, clic sur le triange jaune et demande à la modération de mettre le statut en résolu pour toi
Merci
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)