application Visual Basic (VBA ) est le langage de programmation Excel intègre dans son éditeur de macro. Le VBE (Visual Basic Editor ) éditeur de macro dans Microsoft Excel permet aux utilisateurs d'écrire des programmes simples qui permettent d'automatiser les tâches redondantes . Ici, nous allons écrire une macro VBA qui va dupliquer les données dans une feuille de calcul , le tri d'un tableau multidimensionnel et écrire sur une nouvelle feuille de travail. Ce processus est utile quand une feuille de calcul triés est nécessaire, mais l'original, feuille de calcul non triés doit rester intact . Instructions 1 lancement Excel en cliquant sur " Démarrer", " Microsoft Office Suite », « Excel ». 2 Lancez l' éditeur Visual Basic ( VBE ) en appuyant sur " Alt "et" F11 " simultanément. 3 Donnez le processus de copie d'une feuille de calcul dans un tableau multidimensionnel . Sélectionnez le code suivant et copiez-le dans le VBE : Sous Read_Into_Array () Dim arrData () As Variant ColACount As Long Dim i As Long ColACount = Range ( Range (" A1") , Range (" A" & Rows.Count ) . End ( xlUp ) ) . comte de ReDim arrData (1 à ColACount , 1 à 2) For i = 1 To ColACount arrData (i, 1) = Range (" A" & i ) . Valeur arrData ( i , 2) = Range (" B" & i ) . Valeur Next i End Sub 4 Trier le tableau avec le VBA Bubble Trier processus . Copiez et collez le code suivant sous le code de l' étape précédente. Il va trier le tableau à deux dimensions : Sous Sort_Array () SortColumm1 = 0 SortColumn2 = 3 For i = LBound ( ArrayName , 1 ) Pour LimiteSup ( ArrayName , 1) - 1 x Pour j = LBound ( ArrData , 1) Pour LimiteSup ( ArrData , 1) - 1 x Condition1 = ArrData (j, SortColumn1 ) > ArrData ( j + 1, SortColumn1 ) Condition2 = ArrData (j, SortColumn1 ) = ArrData ( j + 1, SortColumn1 ) et _ ArrData (j, SortColumn2 ) > ArrData ( j + 1, SortColumn2 ) Si Condition1 ou Condition2 puis Pour y = LBound ( ArrData , 2) à LimiteSup ( ArrData , 2) t = ArrData (j, y) ArrData (j, y) = ArrData ( j + 1 , y) ArrayName ( j + 1, y ) = t suivante y End If Suivant Suivant End Sub 5 créer la nouvelle feuille de calcul qui contient les données triées . Copiez et collez le code suivant sous le code indiqué jusqu'ici : Sous New_Worksheet () WS As Feuille Set WS = Sheets.Add End Sub 6 Copiez le tableau à la nouvelle feuille de calcul . Copiez et collez le code suivant sous le code créé ci-dessus: Sous Copy_Array () [A1] Resize ( UBound ( MonTab ) , LimiteSup ( Application.Transpose ( MonTab ))) = . MonTab End Sub 7 enregistrer la macro . Cliquez sur " Fichier", " Enregistrer", donnez-lui un nom et cliquez sur "Enregistrer". 8 exécuter la macro . Ouvrez une feuille de calcul que vous souhaitez copier et trier. Cliquez sur " Outils ", " Macros ", sélectionnez la macro que vous venez de créer. La nouvelle feuille apparaît et remplir automatiquement .
|