Académique Documents
Professionnel Documents
Culture Documents
'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
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()
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