Bonjour,
tout d'abord, merci à ceux qui tenteront de m'aider sur ce cas.
Jeune stagiaire, on m'a confié un rôle sur vba et comme surement 99% des posts, j'ai des difficultés sur ma réalisation.
Voici donc la description du projet :
sur une feuille data de mon Excel, je dispose de d'un large tableau de donnée comprenant des variations (+0,1% ; -5,2% ; +62% etc.) avec 2 données correspondantes : des noms et des dates.
J'ai ainsi de la colonne B1 à NZ1 des noms puis en ligne commençant de A2 à A4573 des dates.
Le but serait de lire chaque cellule de chaque colonnes de chaque lignes 1 à 1 afin d'y extraire les 50 plus grandes variations ainsi que les 50 plus petites variations. Celles-ci seraient misent dans 2 tableaux distincts (un pour les plus grands, un pour les plus petits) comprenant la valeur de la variation, sa date et son nom.
Le code remplirait donc le tableau avec les 50 premières valeurs lus, puis à la 51eme lu, si celle-ci est plus grandes que la dernière valeur des plus grandes, alors elle l'a remplacerait (même chose pour le tableau des valeurs plus petites).
J'ai à travers mes recherches trouvés quelqu'un ayant montré comment lire colonne par colonne d'une ligne puis passer à la suivante avec cette façon :
Sub For_Next_Plage()
Dim FL1 As Worksheet, Cell As Range, NoCol As Integer, NoLig As Long
Dim DerLig As Long, DerCol As Integer, Var As Variant
Set FL1 = Worksheets("Feuil2")
'Détermine la dernière ligne renseignée de la feuille de calculs
DerLig = Split(FL1.UsedRange.Address, "$")(4)
'Détermine la dernière colonne renseignée de la feuille de calculs
DerCol = Columns(Split(FL1.UsedRange.Address, "$")(3)).Column
For NoLig = 1 To DerLig
For NoCol = 1 To DerCol
Var = FL1.Cells(NoLig, NoCol)
Next
Next
End Sub
cependant je n'ai donc pas réussi à effectuer tous le reste du projet expliqué juste avant, bien que je me doute qu'il faille ajouter une autre boucle de calcul avec peut être for ou while.
Merci de votre retour et de toutes questions si je dois détailler plus.
tout d'abord, merci à ceux qui tenteront de m'aider sur ce cas.
Jeune stagiaire, on m'a confié un rôle sur vba et comme surement 99% des posts, j'ai des difficultés sur ma réalisation.
Voici donc la description du projet :
sur une feuille data de mon Excel, je dispose de d'un large tableau de donnée comprenant des variations (+0,1% ; -5,2% ; +62% etc.) avec 2 données correspondantes : des noms et des dates.
J'ai ainsi de la colonne B1 à NZ1 des noms puis en ligne commençant de A2 à A4573 des dates.
Le but serait de lire chaque cellule de chaque colonnes de chaque lignes 1 à 1 afin d'y extraire les 50 plus grandes variations ainsi que les 50 plus petites variations. Celles-ci seraient misent dans 2 tableaux distincts (un pour les plus grands, un pour les plus petits) comprenant la valeur de la variation, sa date et son nom.
Le code remplirait donc le tableau avec les 50 premières valeurs lus, puis à la 51eme lu, si celle-ci est plus grandes que la dernière valeur des plus grandes, alors elle l'a remplacerait (même chose pour le tableau des valeurs plus petites).
J'ai à travers mes recherches trouvés quelqu'un ayant montré comment lire colonne par colonne d'une ligne puis passer à la suivante avec cette façon :
Sub For_Next_Plage()
Dim FL1 As Worksheet, Cell As Range, NoCol As Integer, NoLig As Long
Dim DerLig As Long, DerCol As Integer, Var As Variant
Set FL1 = Worksheets("Feuil2")
'Détermine la dernière ligne renseignée de la feuille de calculs
DerLig = Split(FL1.UsedRange.Address, "$")(4)
'Détermine la dernière colonne renseignée de la feuille de calculs
DerCol = Columns(Split(FL1.UsedRange.Address, "$")(3)).Column
For NoLig = 1 To DerLig
For NoCol = 1 To DerCol
Var = FL1.Cells(NoLig, NoCol)
Next
Next
End Sub
cependant je n'ai donc pas réussi à effectuer tous le reste du projet expliqué juste avant, bien que je me doute qu'il faille ajouter une autre boucle de calcul avec peut être for ou while.
Merci de votre retour et de toutes questions si je dois détailler plus.