Vous êtes sur la page 1sur 4

Sub EXO_1()

'ce programme compte le nombre d'article vendu pour chaque point de ventes qu'il
r�cup�re dans la fueille EXO_4

Sheets("produits").Select
Range("f2").Select
Range(Selection, Selection.End(xlDown)).Copy
Sheets("EXO_4").Select
Range("a2").Select
ActiveSheet.Paste
'ceci permet d'identifier les uniques points de ventes
Range("a2").Sort Range("a2"), xlAscending
Dim i, nb As Integer
i = 3
While Cells(i, 1) <> ""
If Cells(i, 1) = Cells(i - 1, 1) Then
Cells(i, 1).EntireRow.Delete
i = i - 1
End If
i = i + 1
Wend
'on compte le nombre d'article vendu pour chaque point de vente
For Each cel In Range("a2:a9")
Sheets("produits").Select
Range("f2").Select
nb = WorksheetFunction.CountIf(Range(Selection, Selection.End(xlDown)), cel)
MsgBox " Le nombre d'articles vendu par les " & cel & "est de: " & nb
cel.Offset(0, 1).Value = nb
Next cel
Sheets("EXO_1").Select
Range("a1").Value = "Diff�rents points de ventes"
Range("b1").Value = "Le nombre d'articles vendu"
Range("a1:b1").Interior.ColorIndex = 37

'ce programme permet de r�pertorier tous les articles achet�s dans les boutiques
sp�cialis�s et points de vente traditionnels'

Sheets("Produits").Select
Sheets.Add after:=ActiveSheet
ActiveSheet.Name = ("Boutiques sp�cialis�es")
Sheets.Add after:=ActiveSheet
ActiveSheet.Name = "March�s (ouverts ou couverts)"
Sheets("Produits").Select
Range("a1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Boutiques sp�cialis�es").Select
ActiveSheet.Paste
Dim n As Variant
Dim m As Variant
n = Cells(Rows.Count, 1).End(xlUp).Row
m = Cells(1, Columns.Count).End(xlToLeft).Column
Range(Cells(1, 1), Cells(n, m)).AutoFilter Field:=6, Criteria1:="Boutiques
sp�cialis�es et points de vente traditionnels "

'ce programme permet de r�pertorier tous les articles achet�s dans March�s
(ouverts ou couverts)
Sheets("Produits").Select
Range("a1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("March�s (ouverts ou couverts)").Select
ActiveSheet.Paste
n = Cells(Rows.Count, 1).End(xlUp).Row
m = Cells(1, Columns.Count).End(xlToLeft).Column
Range(Cells(1, 1), Cells(n, m)).AutoFilter Field:=6, Criteria1:="March�s (ouverts
ou couverts) "

'calcul du prix moyen des articles des Boutiques sp�cialis�es et points de vente
traditionnels

Dim x, y As Variant
Sheets("Boutiques sp�cialis�es").Select
x = WorksheetFunction.Average(Range(Cells(1, 9), Cells((Cells(Rows.Count,
1).End(xlUp).Row), 9)))
MsgBox " Le prix moyen des articles des Boutiques sp�cialis�es et points de vente
traditionnels est de: " & x
Range("k1").Value = "MOYENNE DES PRIX"
Range("k5").Value = x

'calcul du prix moyen des articles des March�s (ouverts ou couverts

Sheets("March�s (ouverts ou couverts)").Select


y = WorksheetFunction.Average(Range(Cells(1, 9), Cells((Cells(Rows.Count,
1).End(xlUp).Row), 9)))
MsgBox " Le prix moyen des articles des March�s (ouverts ou couverts est de: " & y
Range("k1").Value = "MOYENNE DES PRIX"
Range("k4").Value = y
End Sub

EXO SUIVANT

Sub payement()
Dim ans As String
Dim n, i, j, k, a, cpt As Integer
Sheets("RESULTATS").Activate
If Range("P15") = 1 Then
ans = "OUI"
ElseIf Range("P15") = 2 Then
ans = "NON"
End If
Sheets("BASE1").Activate
Range("A2").Select
n = Range(Selection, Selection.End(xlDown)).Count
For i = 1 To 30
For j = 2 To 13
cpt = 0
Sheets("RESULTATS").Activate
a = Cells(j, 1)
Sheets("BASE1").Activate
For k = 2 To n + 1
If Year(Range("A" & k)) = a And Range("B" & k) = i And Range("C" &
k) = ans Then
cpt = cpt + 1
End If
Next
Sheets("RESULTATS").Activate
Cells(j, i + 1) = cpt
Next
Next

End Sub

'2/ Question 2
Sub Migrants()
Dim n, i, j As Integer
Sheets("BASE2").Activate
Range("A2").Select
n = Range(Selection, Selection.End(xlDown)).Count
j = 1
For i = 24 To n + 1
If Range("B" & i) = "Senegal" And Range("G" & i) = 2018 Then
Range("A" & i & ":G" & i).Copy
Sheets("Feuil1").Activate
Range("A" & j).Select
ActiveSheet.Paste
j = j + 1
Sheets("BASE2").Activate
End If
Next
End Sub

EXO SUIVANT
Sub ouert()

Dim Dos As String


Dim Nomclasseur As String
Dim Derniereligne As Integer
Dim Dernierecolonne As Integer
Dim Lignetotal As Integer

Dos = InputBox("Donnez l'adresse")


ChDir (Dos)
Nomclasseur = Dir(Dos & "\*.xls*")

Workbooks.Open Dos & "\" & 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("NDIAYE_Jean_Pierre").Activate 'Activer notre classeur ou on veiur faire
la copie
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "Nota" 'Creer un feuille
notes � la fin de toutes feuilles pr�sentes
Worksheets("Nota").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 Dos & "\" & Nomclasseur 'On ouvre le classuer
Range(Cells(1, 3), Cells(Lignetotal, 3)).Copy 'On copie la colonne
correspondant � la note
Workbooks("NDIAYE_Jean_Pierre").Activate 'On active notre classeur ou on veut
coller
Worksheets("Nota").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("Nota").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

Vous aimerez peut-être aussi