avyrex1626
XLDnaute Nouveau
Bonjour a tous
J'ai encore besoin de votre aide sur un détail.
La macro si-dessous fonctionne mais si j'ai par example une valeur: ME6628090555-60, Juste par ce qu'il y a un "-", il le convertie en "AJAX DC 60 * ME6628" dans la colonne L et "090555-60" dans la colonne M.
Il dois seulement convertir si le numéro a le format: 000000-00. Ex:531643-05
Comment puis-je corriger?
Merci encore pour votre aide.
ancien topic:https://www.excel-downloads.com/thr...-excel-en-ajoutant-une-nouvelle-ligne.183921/
J'ai encore besoin de votre aide sur un détail.
La macro si-dessous fonctionne mais si j'ai par example une valeur: ME6628090555-60, Juste par ce qu'il y a un "-", il le convertie en "AJAX DC 60 * ME6628" dans la colonne L et "090555-60" dans la colonne M.
Il dois seulement convertir si le numéro a le format: 000000-00. Ex:531643-05
Comment puis-je corriger?
Merci encore pour votre aide.
ancien topic:https://www.excel-downloads.com/thr...-excel-en-ajoutant-une-nouvelle-ligne.183921/
Code:
Sub conversion()
Application.ScreenUpdating = False
For n = 4 To Range("L" & Rows.Count).End(xlUp).Row
While InStr(Range("L" & n), "-") <> 0
Range("M" & n) = Range("M" & n) & ";" & Mid(Range("L" & n), InStr(Range("L" & n), "-") - 6, 9)
Range("L" & n) = Replace(Range("L" & n), Mid(Range("L" & n), InStr(Range("L" & n), "-") - 6, 9), "")
Wend
Next n
For n = Range("L" & Rows.Count).End(xlUp).Row To 4 Step -1
x = Split(Range("M" & n), ";")
If UBound(x) > -1 Then
Range("M" & n) = x(1)
Range("L" & n) = Replace(Range("L" & n), ",", "")
For m = 2 To UBound(x)
Rows(n).Insert
Range("M" & n) = x(m)
Range("A" & n + 1 & ":L" & n + 1).Copy Destination:=Range("A" & n)
Next m
End If
Next n
Application.ScreenUpdating = True
End Sub