luke3300
XLDnaute Impliqué
Bonjour à tous,
Je profite d'un jour de congé pour améliorer un fichier que le forum m'avait aidé à créer.
Dans le code ci-dessous, j'aimerais enlever le fait que les données de la 3ème colonne n'aient plus de lettre devant leur nombre parce qu'actuellement, lorsque les données sont des nombres tels que 801, 999, S704, etc ... le code ne laissent que le derniers chiffre. J'aimerais qu'il laisse l'intitulé en entier.
Qui peut me dire ce que je dois enlever/modifier dans ce code?
Merci d'avance et bon appétit
Je profite d'un jour de congé pour améliorer un fichier que le forum m'avait aidé à créer.
Dans le code ci-dessous, j'aimerais enlever le fait que les données de la 3ème colonne n'aient plus de lettre devant leur nombre parce qu'actuellement, lorsque les données sont des nombres tels que 801, 999, S704, etc ... le code ne laissent que le derniers chiffre. J'aimerais qu'il laisse l'intitulé en entier.
Qui peut me dire ce que je dois enlever/modifier dans ce code?
Code:
Sub Titulariat()
'
' Configure le DL - Racourci ctrl + k
'
Application.ScreenUpdating = False
Range("E:K,C:C").Delete
Range("F25").Select
Dim c As Range, f As Worksheet, d As Object
Set d = CreateObject("scripting.dictionary")
d.comparemode = 1
Set f = Worksheets("DL") 'Feuil3
f.Activate
With f
'.Rows ("1:" & .Columns(1).Find("Ancien NoTourn", LookAt:=xlPart).Row - 1).Delete Shift:=xlUp à enlever car pas de lignes à supprimer au-dessus!
For Each c In .Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp).Address)
If c.Value Like "Reg" & "*" Then
c = Mid(c, 5) * 1
End If
c.Offset(, 2) = Mid(c.Offset(, 2), 2) * 1
Next
f.UsedRange.Sort key1:=Columns(3), order1:=1, key2:=Columns(1), order2:=1, Header:=xlYes
For a = 2 To .UsedRange.Rows.Count
If Not d.exists(.Cells(a, 3).Value) Then
d.Item(.Cells(a, 3).Value) = ""
Else
If Not d.Item(.Cells(a, 3).Value) Like "*" & .Cells(a, 1) & "*" Then
d.Item(.Cells(a, 3).Value) = d.Item(.Cells(a, 3).Value) & "/" & .Cells(a, 1)
End If
End If
Next
With .Cells(1, 5).Resize(, d.Count)
.Value = d.keys
.Font.Bold = True
End With
.Cells(2, 5).Resize(, d.Count) = d.items
For a = 5 To .Cells(1, Columns.Count).End(xlToLeft).Column
b = Split(.Cells(2, a), "/")
For e = 3 To UBound(b) + 3
.Cells(e, a) = b(e - 3)
Next e
Range(.Cells(2, a), .Cells(3, a)).Delete Shift:=xlUp
Next a
.Cells(1, 5).CurrentRegion.Offset(1, 0).Copy
End With
Sheets("Nouveau G").Activate
Range("f10").PasteSpecial Paste:=xlValues
Set d = Nothing
Set f = Nothing
Sheets("DL").Select
Columns("E:GV").Select
Selection.ColumnWidth = 3.86
Range("E1:GV1000").Select
Selection.NumberFormat = "General"
Range("D1").Select
End Sub
Merci d'avance et bon appétit
Dernière édition: