Workbooks.Open Dossier & "\" & Nomclasseur 'Ouvrir le premier classeur de notre

Workbooks.Open Dossier & "\" & Nomclasseur 'Ouvrir le premier classeur de notre chemin Lignetotal = ActiveSheet.UsedRange.Rows.Count 'Compter le nombre de lignes utilisés Range(Cells(1, 1), Cells(Lignetotal, 2)).Copy 'Copier les deux premieres colonnes correspondant aux noms et prenoms Workbooks("Devoir_ENSAE_2022").Activate 'Activer notre classeur ou on veiur faire la copie Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Notes" 'Creer un feuille notes à la fin de toutes feuilles présentes Worksheets("Notes").Activate 'Activer la feuille créée Range("A1:A2").Select 'Selection la colonne A1 pour faire le collage Selection.PasteSpecial Paste:=xlPasteValues 'Coller Workbooks(Nomclasseur).Close 'Fermer alors le premier classeur du chemin While Nomclasseur <> "" 'Tant qu'il y a toujours un classeur dans notre chemin Workbooks.Open Dossier & "\" & Nomclasseur 'On ouvre le classuer Range(Cells(1, 3), Cells(Lignetotal, 3)).Copy 'On copie la colonne correspondant à la note Workbooks("Devoir_ENSAE_2022").Activate 'On active notre classeur ou on veut coller Worksheets("Notes").Activate 'On vient dans notre feuille note Dernierecolonne = ActiveSheet.UsedRange.Columns.Count + 1 'on determine le nombre de colonnes utilisées augmentés de un pour faire le collage. Puisqu'on veut coller verticalement Cells(1, Dernierecolonne).Select 'Selectionner la première cellule de la ligne 1 contenus dans la zone non utilisés Selection.PasteSpecial Paste:=xlPasteValues 'On colle les notes qu'on avait copiées Workbooks(Nomclasseur).Close 'on ferme alors le claasseur ouvert dans notre chemin Nomclasseur = Dir ' On passe au classeur suivant dans notre chemin jusqu'à ce qu'il n'en reste plus WendSub consolider() Dim Dossier As String Dim Nomclasseur As String Dim Derniereligne As Integer Dim Dernierecolonne As Integer Dim Lignetotal As Integer Dossier = InputBox("Quelle est l'addresse du dossier?") ChDir (Dossier) Nomclasseur = Dir(Dossier & "\*.xls*") Workbooks.Open Dossier & "\" & Nomclasseur 'Ouvrir le premier classeur de notre chemin Lignetotal = ActiveSheet.UsedRange.Rows.Count 'Compter le nombre de lignes utilisés Range(Cells(1, 1), Cells(Lignetotal, 2)).Copy 'Copier les deux premieres colonnes correspondant aux noms et prenoms Workbooks("Devoir_ENSAE_2022").Activate 'Activer notre classeur ou on veiur faire la copie Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Notes" 'Creer un feuille notes à la fin de toutes feuilles présentes Worksheets("Notes").Activate 'Activer la feuille créée Range("A1:A2").Select 'Selection la colonne A1 pour faire le collage Selection.PasteSpecial Paste:=xlPasteValues 'Coller Workbooks(Nomclasseur).Close 'Fermer alors le premier classeur du chemin While Nomclasseur <> "" 'Tant qu'il y a toujours un classeur dans notre chemin Workbooks.Open Dossier & "\" & Nomclasseur 'On ouvre le classuer Range(Cells(1, 3), Cells(Lignetotal, 3)).Copy 'On copie la colonne correspondant à la note Workbooks("Devoir_ENSAE_2022").Activate 'On active notre classeur ou on veut coller Worksheets("Notes").Activate 'On vient dans notre feuille note Dernierecolonne = ActiveSheet.UsedRange.Columns.Count + 1 'on determine le nombre de colonnes utilisées augmentés de un pour faire le collage. Puisqu'on veut coller verticalement Cells(1, Dernierecolonne).Select 'Selectionner la première cellule de la ligne 1 contenus dans la zone non utilisés Selection.PasteSpecial Paste:=xlPasteValues 'On colle les notes qu'on avait copiées Workbooks(Nomclasseur).Close 'on ferme alors le claasseur ouvert dans notre chemin Nomclasseur = Dir ' On passe au classeur suivant dans notre chemin jusqu'à ce qu'il n'en reste plus Wend End Sub Sub moyenne() Dim derl, dercol, i As Integer Dim cell_a As Object Worksheets("Notes").Activate 'On active notre feuille notes derl = ActiveSheet.UsedRange.Rows.Count 'On compte le nombre de lignes utilisés dercol = ActiveSheet.UsedRange.Columns.Count + 1 Cells(1, dercol) = "Moyenne" Cells(1, dercol + 1) = "Rang" For i = 2 To derl Cells(i, dercol) = WorksheetFunction.Average(Range(Cells(i, 3), Cells(i, dercol - 1))) 'Cells(i, dercol + 1) = WorksheetFunction.Rank(Cells(i, dercol), Range(Cells(2, dercol), Cells(derl, dercol)), 0) 'Cells(i, dercol + 1) = WorksheetFunction.Rank(Cells(i, 8).Value, Range("H2:H10"), 0) Next i For Each cell_a In Range("H2:H10") Range(cell_a.Address).Offset(0, 1).Value = WorksheetFunction.Rank(cell_a.Value, Range("H2:H10"), 0) Next cell_a End Sub uploads/s1/ jp 1 .pdf

  • 29
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Mar 06, 2022
  • Catégorie Administration
  • Langue French
  • Taille du fichier 0.0165MB