Nous allons vous présenter dans ce qui suit un petit module développé sur VBA qui sert à convertir une variable présentée sous forme de tableau vers une présentation sous forme de série temporelle pour des besoins de création graphique ou autre.
Sub CALCUL()
Dim compteur As Long
Dim FIN_LIGNE_tab, fin_colone_tab As Long
Dim ENTETE_LIGNE, ENTETE_COLONE As String
'Exemple développé par Connaissance-de-base.blogspot.com
'Clng permet de convertir une chaine de caractère en longue
FIN_LIGNE_tab = CLng(InputBox("Entrez la ligne fin du tableau"))
fin_colone_tab = CLng(InputBox("Entrez la colonne fin du tableau"))
'Initialiser le compteur à 1
compteur = 1
Sheets("STAT_SERIE").Cells(1, 1).Value = InputBox("Entrez le nom des entetes de colonnes")
Sheets("STAT_SERIE").Cells(1, 2).Value = InputBox("Entrez le nom dess entetes de lignes")
Sheets("STAT_SERIE").Cells(1, 3).Value = InputBox("Entrez le nom de la variable")
For i = 2 To FIN_LIGNE_tab
For j = 2 To fin_colone_tab
If IsNull(Sheets("STAT_TABLEAU").Cells(i, j)) = True Then
Exit For
End If
'Compteur pour permettre de se déplacer d'une cellule à une autre
compteur = compteur + 1
Sheets("STAT_SERIE").Cells(compteur, 1).Value = Sheets("STAT_TABLEAU").Cells(1, j).Value
Sheets("STAT_SERIE").Cells(compteur, 2).Value = Sheets("STAT_TABLEAU").Cells(i, 1).Value
Sheets("STAT_SERIE").Cells(compteur, 3).Value = Sheets("STAT_TABLEAU").Cells(i, j).Value
Next
'Test pour vérifier s'il s'agit d'une cellule vide ou non
If IsNull(Sheets("STAT_TABLEAU").Cells(i, j)) = True Then
Exit For
End If
Next
MsgBox "terminé"
End Sub
Aucun commentaire :
Enregistrer un commentaire