Pb pour programmer sur Visual Basic en Excel

Fermé
zobal Messages postés 4 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 11 juillet 2007 - 11 juil. 2007 à 08:16
 Papou - 12 juil. 2007 à 00:38
bonjour,

je souhaite réaliser un tableau qui affiche les temps des différents types de panne sur la semaine .

En fin de semaine, j'appuie sur un bouton qui décale vers la droite ma colonne temps total du type de panne dans la semaine et remet à 0 les valeurs rentrés du lundi à vendredi.

Et losque j'ai 3 semaines d'archive, j'appuis sur un autre bouton qui crée un graphique, celui-ci reprend les temps de pannes des 3 dernières semaines, fait un histogramme décroissant.

Est-ce que quelqu'un connaît assez bien le codage pour faire ça?Car moi je comprend pas trop le codage visual basic.

Je vous montre ce que je souhaite :

..............lundi....mardi....semaine X......semaine X-1....semaine X-2
panne1....10.........0............10.................58..................12
panne2.....5.........25...........30.................10...................0

Bouton "Mise à jour"
Bouton "Création graphique"

Voila ce que ça donnerait

merci d'avance pour votre aide
A voir également:

2 réponses

Bonsoir Zobal,

Voici un exemple de code à saisir dans l'événement 'Click' des boutons de Mise à jour et Création graphique.
Ce code suppose que :
ton tableau cémarre dans la cellule A1
0
Bonsoir Zobal,

Voici un exemple de code à saisir dans l'événement 'Click' des boutons de Mise à jour et Création graphique :

Private Sub CommandButton1_Click()
' Bouton Mise à jour

For lg = 2 To Cells(2, 1).End(xlDown).Row
Cells(lg, 1).End(xlToRight).Offset(0, 1).Value = Application.WorksheetFunction.Sum(Range(Cells(lg, 2), Cells(lg, 8)))
Next

End Sub

Private Sub CommandButton2_Click()
' Bouton Création graphique

nl = Cells(2, 2).End(xlDown).Row
nc = Cells(2, 2).End(xlToRight).Column
Range(Cells(2, nc - 2), Cells(nl, nc)).Select
    Charts.Add
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"
    With ActiveChart
        .HasTitle = False
        .Axes(xlCategory, xlPrimary).HasTitle = False
        .Axes(xlValue, xlPrimary).HasTitle = False
    End With

End Sub


Ce code suppose que :
- Le tableau démarre en cellule A1
- La colonne A liste les pannes
- Les colonnes B à H contiennent les jours de semaine (du lundi au dimanche inclus)
- La ligne 1 contient les intitulés des jours et des semaines
Toute modification de structure du tableau devra se répercuter sur les adresses des cellules (Cells(..,..)).

Espérant avoir répondu à ton attente.

Cordialement.

Papou
0