1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| Function tri()
Sheets("dictionnaire").Activate
Range("B1").Select
On Error GoTo voie_inexistante
While ActiveCell <> "" 'tant que nous n'avons pas parcouru tout le dictionnaire
If ActiveCell.Offset(0, 1) = "" Then 'cette voie n'a pas été triée 'si elle n'a pas de valeurs a droite de son nom
val_dico = Selection.Columns("A:A") 'on recupere le nom de la voie de notre sélection
Sheets("data").Activate 'on retourne sur nos 1000 voies
Range("B1").Select 'on selectionne le nom de la première voie
Cells.Find(What:=val_dico, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
Range(Selection.Offset(0, 1), Selection.End(xlToRight)).Select 'si oui, on se décale d'une cellule vers la droite (pas besoin du nom) et on prends tout les points en etirant la sélection
Selection.Copy 'on la copie
Sheets("dictionnaire").Activate 'on retourne sur notre dictionnaire
Selection.Offset(0, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 'on colle notre ligne copiée
Selection.Offset(0, -1).Select ' et on retourne sur le nom de la voie du dictionnaire
End If
voie_inexistante:
Err.Clear
Sheets("Dictionnaire").Activate 'nous sommes sortis de la boucle, cad que notre valeur de dico a été trouvé
Selection.Offset(1, 0).Select 'alors on passe a la val dico suivant
Wend
End Function |
Partager