Salut Thierry,
la suite de l'aventure avec le tri de la BDD...
Limites :
- je postule qu'il n'y aura jamais moins de 2 secteurs d'activité ou de spécialités techniques sinon -> erreur dans tri ou création des sections ;
- le tri des différents libellés ne tient pas compte des accents ou espace dans les différents libellés ce qui cause donc des "dyslexies" orthographiques!
Public Sub TriBDD(ByVal iIdx%)
'
Dim tTab, iRow%, sCol$
'
iRow = Range("A" & Rows.Count).End(xlUp).Row + 9
'
If iIdx = 1 Then
'Tri colonnes Secteurs d'activités
For x = 1 To Cells(1, Columns.Count).End(xlToLeft).Column
For y = 2 To Cells(1, Columns.Count).End(xlToLeft).Column
If Cells(1, y) < Cells(1, y - 1) Then
tTab = Range(Chr(63 + y) & "1:" & Chr(63 + y) & iRow).Value
Range(Chr(63 + y) & "1:" & Chr(63 + y) & iRow).Value = Range(Chr(64 + y) & "1:" & Chr(64 + y) & iRow).Value
Range(Chr(64 + y) & "1:" & Chr(64 + y) & iRow).Value = tTab
End If
Next
Next
Else
'Tri blocs-lignes Spécialités techniques
sCol = Chr(64 + Cells(1, Columns.Count).End(xlToLeft).Column)
For x = 2 To iRow - 9 Step 10
For y = 12 To iRow - 9 Step 10
If Cells(y, 1) < Cells(y - 10, 1) Then
tTab = Range("A" & y - 10 & ":" & sCol & y - 1).Value
Range("A" & y - 10 & ":" & sCol & y - 1).Value = Range("A" & y & ":" & sCol & y + 9).Value
Range("A" & y & ":" & sCol & y + 9).Value = tTab
End If
Next
Next
End If
'
End Sub
Si tu veux un classement orthographique pur et dur, je te laisse "zyeuter" le code suivant où je réalise la chose.
https://forum.excel-pratique.com/viewtopic.php?p=809447#p809447
Si tout est OK et sans bug...
Avec plaisir, l'ami!
Bon travail!
A+