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
| Sub ...()
'on sélectionne la première feuille du classeur qu'on va dupliquer
Sheets(1).Select
Sheets(1).Copy after:=Sheets(1)
'ensuite on retire les sous totaux de la feuille dupliquée
Selection.RemoveSubtotal
'maintenant on va supprimer la colonne B qui est le libellé des agences, et qui est toujours vide
Columns("B:B").Select
Selection.Delete Shift:=xlToLeft
'on déclare nos variables
Dim taille As Long 'la taille de la feuille
Dim agence(15) As String ' la liste des 14 agences retenues à définir soi-même
' Je choisis la liste de 14 agences de mon portefeuille = (75,80,90,91,96,102,103,104,108,111,114,118,125,138)
'définition des agences concernées
agence(0) = 75
agence(1) = 80
agence(2) = 90
agence(3) = 90
agence(4) = 96
agence(5) = 102
agence(6) = 103
agence(7) = 104
agence(8) = 108
agence(9) = 111
agence(10) = 114
agence(11) = 118
agence(12) = 125
agence(13) = 138
'Ici on va determiner la taille de la feuille pour savoir où la boucle va s'arrêter'
taille = ThisWorkbook.Sheets(2).Range("A1").End(xlDown).Row + 1
'cette variable taille prend le numéro de la premiere celule vide , donc il faut s'assurer que dans la
'colonne qui doit être utilisée pour prendre la taille ne contient pas de cellule vide au milieu de données
' ici on prend la colonne A
' Maintenant pour la boucle , on commence par la deuxieme ligne comme le tableau a des en-têtes
'MsgBox taille
'Exit Sub
For i = taille To 2 Step -1
If (Inarray(ThisWorkbook.Sheets(2).Cells(i, 1), agence) = False) Then ' je vérifie si l'agence i est dans la ligne de mes agences , sinon je la supprime
ThisWorkbook.Sheets(2).Cells(i, 4).EntireRow.Delete
End If
Next i
End Sub |
Partager