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 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181
| Sub genere_onglets_etablissement_test_multitableau_5()
' On Error GoTo errorhandler:
Dim x As Integer
Dim LettreVoulue As String
LettreVoulue = TrouveLettreColonne([acronyme_etab])
Dim nom_etablissement As Variant
Dim start As Single
Dim finish As Single
Dim tableau1() As Variant
Dim tableau2() As Variant
Dim tableau3() As Variant
Dim tableau4() As Variant
Dim tableau5() As Variant
Dim tableau6() As Variant
Dim tableau7() As Variant
Dim tableau8() As Variant
Dim tableau9() As Variant
Dim tableau10() As Variant
Dim tableau11() As Variant
Dim tableau12() As Variant
Dim tableau13() As Variant
Dim tableau14() As Variant
Dim tableau15() As Variant
Dim tableau16() As Variant
Dim tableau17() As Variant
Dim tableau18() As Variant
Dim tableaux As Variant
Dim ligne As Variant
Dim i As Long
start = Timer
Application.ScreenUpdating = False
'mettre les cellules voulues dans le tableau
Sheets("R_MoulinetteAValider").Activate
tableau1() = Range(TrouveLettreColonne([ID_titre]) & 2, TrouveLettreColonne([ID_titre]) & LastLignUsedInSheet("R_MoulinetteAValider"))
tableau2() = Range(TrouveLettreColonne([seq_titre]) & 2, TrouveLettreColonne([seq_titre]) & LastLignUsedInSheet("R_MoulinetteAValider"))
tableau3() = Range(TrouveLettreColonne([pair_impair_titre]) & 2, TrouveLettreColonne([pair_impair_titre]) & LastLignUsedInSheet("R_MoulinetteAValider"))
tableau4() = Range(TrouveLettreColonne([etab_titre]) & 2, TrouveLettreColonne([etab_titre]) & LastLignUsedInSheet("R_MoulinetteAValider"))
tableau5() = Range(TrouveLettreColonne([acronyme_etab_titre]) & 2, TrouveLettreColonne([acronyme_etab_titre]) & LastLignUsedInSheet("R_MoulinetteAValider"))
tableau6() = Range(TrouveLettreColonne([item_etab_moulinette_titre]) & 2, TrouveLettreColonne([item_etab_moulinette_titre]) & LastLignUsedInSheet("R_MoulinetteAValider"))
tableau7() = Range(TrouveLettreColonne([item_etab_titre]) & 2, TrouveLettreColonne([item_etab_titre]) & LastLignUsedInSheet("R_MoulinetteAValider"))
tableau8() = Range(TrouveLettreColonne([descr_etab_titre]) & 2, TrouveLettreColonne([descr_etab_titre]) & LastLignUsedInSheet("R_MoulinetteAValider"))
tableau9() = Range(TrouveLettreColonne([couleur_etab_titre]) & 2, TrouveLettreColonne([couleur_etab_titre]) & LastLignUsedInSheet("R_MoulinetteAValider"))
tableau10() = Range(TrouveLettreColonne([four_etab_titre]) & 2, TrouveLettreColonne([four_etab_titre]) & LastLignUsedInSheet("R_MoulinetteAValider"))
tableau11() = Range(TrouveLettreColonne([fournisseur_titre]) & 2, TrouveLettreColonne([fournisseur_titre]) & LastLignUsedInSheet("R_MoulinetteAValider"))
tableau12() = Range(TrouveLettreColonne([marque_etab_titre]) & 2, TrouveLettreColonne([marque_etab_titre]) & LastLignUsedInSheet("R_MoulinetteAValider"))
tableau13() = Range(TrouveLettreColonne([cat_etab_titre]) & 2, TrouveLettreColonne([cat_etab_titre]) & LastLignUsedInSheet("R_MoulinetteAValider"))
tableau14() = Range(TrouveLettreColonne([format_contrat_titre]) & 2, TrouveLettreColonne([format_contrat_titre]) & LastLignUsedInSheet("R_MoulinetteAValider"))
tableau15() = Range(TrouveLettreColonne([qte_an_titre]) & 2, TrouveLettreColonne([qte_an_titre]) & LastLignUsedInSheet("R_MoulinetteAValider"))
tableau16() = Range(TrouveLettreColonne([prix_contrat_titre]) & 2, TrouveLettreColonne([prix_contrat_titre]) & LastLignUsedInSheet("R_MoulinetteAValider"))
tableau17() = Range(TrouveLettreColonne([valider_etablissement_titre]) & 2, TrouveLettreColonne([valider_etablissement_titre]) & LastLignUsedInSheet("R_MoulinetteAValider"))
tableau18() = Range(TrouveLettreColonne([commentaire_etablissement_titre]) & 2, TrouveLettreColonne([commentaire_etablissement_titre]) & LastLignUsedInSheet("R_MoulinetteAValider"))
tableaux = Array(tableau1(), tableau2(), tableau3(), tableau4(), tableau5(), tableau6(), tableau7(), tableau8(), tableau9(), tableau10(), tableau11(), tableau12() _
, tableau13(), tableau14(), tableau15(), tableau16(), tableau17(), tableau18())
'nettoie le nom des etablissements provenant du LAC afin d'éviter d'avoir 2 onglets
Worksheets("R_MoulinetteAValider").Activate
Range(LettreVoulue & 2, LettreVoulue & LastLignUsedInSheet("R_MoulinetteAValider")).Select
nettoyerseul
'détruire onglet si ré-exécution de la macro
detruire_onglet_etablissement
'création des feuilles selon le nom des etablissement
For Each nom_etablissement In Sheets("R_MoulinetteAValider").Range(LettreVoulue & 2, LettreVoulue & LastLignUsedInColumn(LettreVoulue))
x = x + 1
If Cells(x + 1, [valider_etablissement].Column) = "x" Or Cells(x + 1, [valider_etablissement].Column) = "X" Then
If sheetExists(nom_etablissement.value) = True Then
Else
Sheets.Add.Name = nom_etablissement
Sheets("R_MoulinetteAValider").[ID_titre].Copy Sheets(nom_etablissement.value).Range("a1")
Sheets("R_MoulinetteAValider").[seq_titre].Copy Sheets(nom_etablissement.value).Range("b1")
Sheets("R_MoulinetteAValider").[pair_impair_titre].Copy Sheets(nom_etablissement.value).Range("c1")
Sheets("R_MoulinetteAValider").[etab_titre].Copy Sheets(nom_etablissement.value).Range("d1")
Sheets("R_MoulinetteAValider").[acronyme_etab_titre].Copy Sheets(nom_etablissement.value).Range("e1")
Sheets("R_MoulinetteAValider").[item_etab_moulinette_titre].Copy Sheets(nom_etablissement.value).Range("f1")
Sheets("R_MoulinetteAValider").[item_etab_titre].Copy Sheets(nom_etablissement.value).Range("g1")
Sheets("R_MoulinetteAValider").[descr_etab_titre].Copy Sheets(nom_etablissement.value).Range("h1")
Sheets("R_MoulinetteAValider").[couleur_etab_titre].Copy Sheets(nom_etablissement.value).Range("i1")
Sheets("R_MoulinetteAValider").[four_etab_titre].Copy Sheets(nom_etablissement.value).Range("j1")
Sheets("R_MoulinetteAValider").[fournisseur_titre].Copy Sheets(nom_etablissement.value).Range("k1")
Sheets("R_MoulinetteAValider").[marque_etab_titre].Copy Sheets(nom_etablissement.value).Range("l1")
Sheets("R_MoulinetteAValider").[cat_etab_titre].Copy Sheets(nom_etablissement.value).Range("m1")
Sheets("R_MoulinetteAValider").[format_contrat_titre].Copy Sheets(nom_etablissement.value).Range("n1")
Sheets("R_MoulinetteAValider").[qte_an_titre].Copy Sheets(nom_etablissement.value).Range("o1")
Sheets("R_MoulinetteAValider").[prix_contrat_titre].Copy Sheets(nom_etablissement.value).Range("p1")
Sheets("R_MoulinetteAValider").[valider_etablissement_titre].Copy Sheets(nom_etablissement.value).Range("q1")
Sheets("R_MoulinetteAValider").[commentaire_etablissement_titre].Copy Sheets(nom_etablissement.value).Range("r1")
Sheets("R_MoulinetteAValider").[commentaire_etablissement_titre].Copy Sheets(nom_etablissement.value).Range("s1")
Range("s1").value = "Reponse de l'etablissement"
Columns("a:C").ColumnWidth = 6.11
Columns("D").ColumnWidth = 8.33
Columns("E").ColumnWidth = 15.78
Columns("F").ColumnWidth = 11.89
Columns("G").ColumnWidth = 15.78
Columns("H").ColumnWidth = 40
Columns("I:P").ColumnWidth = 15.78
Columns("Q").ColumnWidth = 11.89
Columns("R:U").ColumnWidth = 40
Range("a2").Activate
End If
'on copie les données dans la feuille correspondantes
' Sheets(nom_etablissement.value).Rows(x) = Application.Transpose(tableaux).Rows
' Debug.Print Join(tableaux, ";")
Sheets(nom_etablissement.value).Row(x).Resize(UBound(tableaux) + 1, 1) = Application.Transpose(tableaux(x, 1), tableaux)
'on supprime les lignes vides si bien sur les feuilles ont été créés
Sheets(nom_etablissement.value).Select
Range("A2").EntireRow.Insert
Sheets(nom_etablissement.value).Range("b1:B" & LastLignUsedInColumn("B")).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
With ActiveSheet.Tab
.ThemeColor = xlThemeColorAccent3
.TintAndShade = 0.399975585192419
End With
End If
Sheets("R_MoulinetteAValider").Select
Next nom_etablissement
finish = Timer
MsgBox "durée du traitement: " & finish - start & " secondes"
Exit Sub
errorhandler:
MsgBox "Erreur d'exécution, la procédure va se terminer !", vbCritical
Erase tableau1
Erase tableau2
Erase tableau3
Erase tableau4
Erase tableau5
Erase tableau6
Erase tableau7
Erase tableau8
Erase tableau9
Erase tableau10
Erase tableau11
Erase tableau12
Erase tableau13
Erase tableau14
Erase tableau15
Erase tableau16
Erase tableau17
Erase tableau18
Erase tableaux
End Sub |