transformation de caracteres

  • Initiateur de la discussion Initiateur de la discussion erwann
  • 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 !

E

erwann

Guest
Bonjour le forum, 😉

Dans une colonne de A1:A5000, les cellules contiennent des valeurs ex: XXXXXXXX001.1, comment transformer cette valeur en XXXXXXXX1_1 dans la colonne E.
En fait il faut supprimer 2 zéro et transformer le '.' en '_'

L'opération inverse m'intérresse aussi.... 😱
Merci pour vos futures réponses [file name=trans_carct.zip size=1565]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/trans_carct.zip[/file]
 

Pièces jointes

Mille excusessssssssss.
Je suis désolé.
😱 😱 😱 😱 😱 😱 😱 😱 😱 😱 😱 😱 😱 😱 😱 😱
[file name=PourErwann_20051029194430.zip size=9414]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/PourErwann_20051029194430.zip[/file]
 

Pièces jointes

Re,

Donc, si je comprend bien :

on ne touche pas aux 8 premiers caractères
de 002.10 tu veux faire 2_10
de 032.6 tu veux faire 32_6
si tu avais 032.12 tu voudrais en faire 32_12
de 102.8 tu veux faire 102_8
et si tu avais 105.15 tu voudrais en faire 105_15

Chat échaudé crains l'eau froide (lol)
Â+
 
Re,

Voici donc l'analyse que j'attendais au départ :

on ne touche pas aux 8 premiers chiffres
on supprime les 0 devant les nombres précédent le . (10 rest 10)
on remplace le . par _
on copie le nombre après le _ (ex .)

Aurais-tu déjà entendu parler du Golgotha ?

Je regarde cela demain matin, maintenant la soupe est chaude.

Â+
 
Re erwann, excalibur, andré,

Dans l'attente d'une solution par formule ( 😛 ), ci-joint une réponse VBA :
Sub Traitement()
Dim Plage As Range, Cellule As Range
Dim T As String
      Application.ScreenUpdating = False
      Set Plage = ActiveSheet.UsedRange.SpecialCells _
                        (xlCellTypeConstants, xlNumbers + xlTextValues)
      For Each Cellule In Plage
            T = Cellule.Value
            If Mid(T, 9) Like '*#.#*' Then
                  Cellule.Value = Left(T, 8) & Int(Val(Mid(T, 9))) _
                                          & '_' & Mid(T, InStr(T, '.') + 1)
            End If
      Next Cellule
      Application.ScreenUpdating = True
End Sub


Sub Reconstitution()
Dim Plage As Range, Cellule As Range
Dim T As String
      Application.ScreenUpdating = False
      Set Plage = ActiveSheet.UsedRange.SpecialCells _
                        (xlCellTypeConstants, xlNumbers + xlTextValues)
      For Each Cellule In Plage
            T = Cellule.Value
            If Mid(T, 9) Like '*#_#*' Then
                  Cellule.Value = Left(T, 8) & Format(Val(Mid(T, 9)), '000') _
                                          & '.' & Mid(T, InStr(T, '_') + 1)
            End If
      Next Cellule
      Application.ScreenUpdating = True
End Sub
C'est vrai que cette fois, je n'ai pas fait dans la dentelle...

Cordialement,

PS : je te souhaite un bon week-end également andré 🙂 [file name=PourErwann2.zip size=10070]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/PourErwann2.zip[/file]
 

Pièces jointes

bonjour à tous

je n'ai pas de mérite l'analyse a été faite par André et j'ai quasiment copié le code de myDearFriend!
Donc si A1 contient la chaîne en question :
=GAUCHE(A1;8)&CNUM(STXT(A1;9;CHERCHE('.';A1)-9))&'_'
&STXT(A1;CHERCHE('.';A1)+1;NBCAR(A1)-CHERCHE('.';A1))

Par contre je n'ai pas compris le principe de la formule de reconstruction. Comment savoir le nombre de zéro à rajouter ?
(pour le '_' en '.' le SUBSTITUE(A1;'_';'.') fonctionne à merveille)

au revoir, à bientôt
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

M
Réponses
4
Affichages
2 K
M
M
Réponses
3
Affichages
4 K
_matt_44
M
B
Réponses
4
Affichages
3 K
T
Réponses
3
Affichages
2 K
toinish
T
Réponses
10
Affichages
2 K
B
Réponses
4
Affichages
874
bijou123
B
P
  • Question Question
Réponses
6
Affichages
4 K
P
Réponses
9
Affichages
2 K
philest
P
S
  • Question Question
Réponses
0
Affichages
2 K
Sébastien
S
N
  • Question Question
Réponses
8
Affichages
1 K
nounours30
N
P
Réponses
1
Affichages
2 K
Pierrot93
P
M
Réponses
7
Affichages
2 K
J
  • Question Question
Réponses
3
Affichages
1 K
jhonny
J
O
Réponses
7
Affichages
2 K
I
Réponses
4
Affichages
1 K
isabelle
I
E
Réponses
11
Affichages
2 K
E
Retour