Bonjour
Pour le fichier initial, avec un code que certains pourront améliorer, j'en étais là, c'est à dire que je patauge après les spécialités non identifiées parce que le nombre de lignes de chaque Item n'est pas constant, l'idéal pour moi serait, spécialité1, spécialité2, spécialité3, etc...
Sub Transfert()
Application.ScreenUpdating = False
For i = [A65000].End(xlUp).Row To 1 Step -1
If Cells(i, 1) = 0 Then Cells(i, 1).EntireRow.Delete
Next i
'Mise en forme de la ligne de titres
Range("B1").FormulaR1C1 = "No"
Range("C1").FormulaR1C1 = "Nom"
Range("D1").FormulaR1C1 = "Adresse"
Range("E1").FormulaR1C1 = "Code Postal"
Range("F1").FormulaR1C1 = "Ville"
Range("G1").FormulaR1C1 = "Téléphone"
Range("H1").FormulaR1C1 = "Fax"
Range("I1").FormulaR1C1 = "Site Internet:"
Range("J1").FormulaR1C1 = "Spécialité"
Range("K1").FormulaR1C1 = "Spécialté2"
Range("K1").Select
Selection.AutoFill Destination:=Range("K1:N1"), Type:=xlFillDefault
'On parcours la plage de cellules de la colonne A
Dim Cell As Range, J As Long, k As Byte
'On redéfinit la plage de cellules (cette fois sans ligne vide)
For J = 1 To Range("A" & Rows.Count).End(xlUp).Row
'on cherche le numéro de la ligne en gras
For Each Cell In Range("A" & J)
If Cell.Font.Bold = True And Not IsEmpty(Cell) Then BoldCell = BoldCell + 1
Next Cell
k = BoldCell + 1
'on parcourt la plage et si la cellule est en caractères gras on la copie sur la colone Nom
If Range("A" & J).Font.Bold = True Then Range("C" & k) = Range("A" & J)
If Range("A" & J).Value Like "*Adresse*" Then Range("D" & k) = Replace(Range("A" & J).Value, "Adresse", "")
If Range("A" & J).Value Like "*Postal*" Then Range("E" & k) = Replace(Range("A" & J).Value, "Code Postal", "")
If Range("A" & J).Value Like "*Ville*" Then Range("F" & k) = Replace(Range("A" & J).Value, "Ville", "")
If Range("A" & J).Value Like "*Téléphone*" Then Range("G" & k) = Replace(Range("A" & J).Value, "Téléphone", "")
If Range("A" & J).Value Like "*Fax*" Then Range("H" & k) = Replace(Range("A" & J).Value, "Fax", "")
If Range("A" & J).Value Like "*Internet*" Then Range("I" & k) = Replace(Range("A" & J).Value, "Site Internet", "")
If Range("A" & J).Value Like "*Spécialités*" Then Range("J" & k) = Replace(Range("A" & J).Value, "Spécialités", "")
'Traitement des autres spécialités(imparfait)
For L = 1 To 6
If Range("A" & J).Value Like "*Chirurgie*" Then Range("K" & k) = Range("A" & J)
If Range("A" & J).Value Like "*Radiothérapie*" Then Range("L" & k) = Range("A" & J)
If Range("A" & J).Value Like "*enfant*" Then Range("M" & k) = Range("A" & J)
Next L
Next J
End Sub
Cordialement