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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
Public sub triage() 'Permet le regroupement des extractions filerweb après la copie des données
Dim feui As Worksheet
Dim nbLignes As Long, i As Long, f As Long, j As Long
Dim lastColEntree As Long, lastColSortie As Long, fin As Long, der As Long
Dim ColSortie As String, colEntree As String
Dim present As Boolean
Application.Visible = False
With PLSWorkbook.Sheets("ResultatRecherche")
der = Module1.tailleLigne(.Index)
For f = .Index + 1 To PLSWorkbook.Sheets.Count 'Pour chacune des feuilles contenant une extraction
Set feui = PLSWorkbook.Sheets(f) 'On récupère la feuille
fin = Module1.tailleLigne(feui.Index)
For i = 1 To fin 'Pour chaque ligne de la feuille
If feui.Range("A" & i).Value = "" Then Exit For
present = True 'On estime que la ligne est déjà présenté dans la feuille de résultat
For j = 1 To der 'Pour chaque ligne de la feuille de résultat
If feui.Range("A" & i).Value = .Range("A" & i).Value Then 'Si les lignes de chaque feuilles sont identiques
Exit For 'Alors on passe à la ligne suivante
Else
present = False 'Sinon on indique qu'il y a des différences entre les deux extractions
End If
Next j
If Not present Then
feui.Rows(i).Delete shift:=xlUp 'et on supprime les lignes qui diffèrent
fin = fin - 1
End If
Next i
''''''''''''''''''''''''
lastColEntree = Module1.tailleColonne(f) 'Récupère la valeur de la dernière colonne de la feuille d'extraction en cours d'étude
'lettreColEntree = Module1.ColonneLetter(lastColEntree) 'Permet d'obtenir le code (lettres) correspondant
lastColSortie = Module1.tailleColonne(.Index) + 1 'Idem pour la feuille de résultat
'feui.Columns("J:" & lettreColEntree).Copy 'On copie l'ensemble des informations
feui.Range(feui.Cells(1, 10), feui.Cells(10000, lastColEntree)).Copy
'lettreColSortie = Module1.ColonneLetter(lastColSortie) '''
'''''''''''''''''''''''
'L'exécution plante ici
PLSWorkbook.Sheets("ResultatRecherche").Select 'Il faut activer la feuille de résultat
'''''''''''''''''''''''
'''''''''''''''''''''''
Debug.Print ("ok")
'.Range(lettreColSortie & "1").Select 'On colle à la suite des précédentes informations
.Cells(1, lastColSortie).Select
ActiveSheet.Paste
Next f
.Activate 'On réactive la feuille de résultat
Columns("B:M").Delete shift:=xlUp 'On supprime les colonnes inutiles
Columns("C:I").Delete shift:=xlUp
nbLignes = Module1.tailleLigne(.Index)
Columns("A:A").NumberFormat = "@" 'On assure le bon format (de garder les zéros) pour les PJI
For i = 1 To nbLignes 'Pour chaque ligne
.Range("A" & i).Value = Right(.Range("A" & i).Value, 7) 'Le PJI est raccourci pour ne garder que les 7 derniers chiffres
For j = 1 To Module1.tailleColonne(.Index) 'Pour chaque colonne
.Cells(i, j).Value = Trim(.Cells(i, j).Value) 'On supprime les espaces inutiles
Next j
Next i
Application.DisplayAlerts = False
'Suppression des feuilles une fois l'arrangement effectué
f = PLSWorkbook.Sheets.Count
While f <> .Index
Set feui = PLSWorkbook.Sheets(f)
feui.Delete
f = f - 1
Wend
End With
Application.DisplayAlerts = True
End Sub |
Partager