D UNE MACRO pour créer un cycle

bonjour à tous

j'aurais besoin d'un sérieux coup de main pour faire une macro qui permet à l’utilisation qui dispose d'un tableau de créer un cycle de conduite complet en remplissant les champs suivant pour chaque étape du cycle :

  • Vitesse de début (km/h)
  • Vitesse de fin (km/h)
  • Durée (s)

Les trois colonnes bleues suivantes indiquent le nombre de pas, la durée du pas et le cumul de temps. Elles sont automatiquement générées à partir des données utilisateur.

Le programme associé au bouton « Créer cycle » s’occupe ensuite de traduire les informations renseignées dans le tableau précédent afin de créer un cycle exploitable.

Le programme calcul l’évolution de tous les paramètres du véhicule et du cycle à chaque pas de temps :

  • Temps (s)
  • Incrément (s)
  • Vitesse (km/h et m/s)
  • Distance instantanée (m)
  • Distance totale parcourue (m)
  • Accélération (m/s²)

actuellement le parcours total est de 2 km environs je voudrais environs le rallonger à 10 km

pour se faire il faudrais rallongé les intervalle de pause de 30 sec ( quand Vitesse =0) et allongé les 9 paliers de 15 sec ensuite le dupliqué 3 fois pour faire augmenter en 3 fois la distance

mais comment faire ?

je suis un novice en macro et si je dois faire sa avec des formules je ne sait pas comment procedé .

je vous donne le fichier pour mieux comprendre

et je vous remerci d'avance .

-- 16 Mai 2011, 15:34 --

bon j'ai trouvé le programme macro

pour ceux que sa interrése voici le programme

Private Sub CommandButton1_Click()

'//////////////////////////Efface le cycle précédent

Range("A4:A200").ClearContents

Range("J6:P1184").ClearContents

Sheets("data cycle").Range("AJ1:AP1184").ClearContents

'//////////////////////////Variables utilisées

Dim NombrePhases As Integer

Dim NombreCellule As Integer

Dim TempsCycle As Variant

Dim Vitesse As Variant

Dim Step As Variant

Dim VitesseDepart As Integer

Dim VitesseArrivee As Integer

Dim NombrePas As Variant

Dim Acceleration As Variant

Dim Distance As Variant

Dim DistanceParcourue As Variant

Dim A As Variant

'//////////////////////////Calcul du nombre de phases

For i = 4 To 200

If Range("D" & i) = Empty Then

Else

Range("A" & i) = i - 3

NombrePhases = Range("A" & i)

End If

Next

'//////////////////////////Calcul du nombre de cellule du cycle

For i = 4 To NombrePhases + 3

NombreCellule = NombreCellule + Range("E" & i)

Next

'//////////////////////////Conditions initiales pour le cycle

VitesseDepart = Range("B4")

VitesseArrivee = Range("C4")

NombrePas = Range("E4")

Step = Range("F4")

A = 4

'//////////////////////////Etape initial

Range("J5") = 0

Range("K5") = Step

Range("M5") = (VitesseDepart / 3.6) + (VitesseArrivee - VitesseDepart) / (3.6 * NombrePas)

Range("L5") = Range("M5") * 3.6

Range("N5") = Range("M5") * Range("K5")

Range("O5") = Range("N5")

Range("P5") = (Range("M5") - VitesseDepart) / Range("K5")

TempsCycle = Range("K5")

'//////////////////////////Calcul du cycle

For i = 6 To NombreCellule + 4

Vitesse = Range("M" & i - 1) + (VitesseArrivee - VitesseDepart) / (3.6 * NombrePas)

If Application.RoundDown(Abs(Vitesse), 3) = 0 Then

Vitesse = 0

End If

Distance = Vitesse * Step

DistanceParcourue = DistanceParcourue + Distance

Range("J" & i) = TempsCycle

Range("K" & i) = Step

Range("L" & i) = Vitesse * 3.6

Range("M" & i) = Vitesse

Range("N" & i) = Distance

Range("O" & i) = DistanceParcourue

Acceleration = (Range("M" & i) - Range("M" & i - 1)) / Step

Range("P" & i) = Acceleration

TempsCycle = TempsCycle + Range("K" & i)

If Application.RoundDown(Abs(TempsCycle - Range("G" & A)), 3) = 0 Then

Step = Range("F" & A + 1)

NombrePas = Range("E" & A + 1)

VitesseDepart = Range("B" & A + 1)

VitesseArrivee = Range("C" & A + 1)

A = A + 1

End If

Next

'//////////////////////////Copie du cycle dans une autre feuille

Sheets("data cycle").Range("AJ1:AP1184").Value = Range("J1:P1184").Value

End Sub

54creation-cycle.xlsx (65.55 Ko)

Bonjour hakim,

Voici la macro qui permet de générer les données et les graphiques que tu veux.

Tu n'as qu'à ajouter les infos voulues dans les colonnes B, C et D (sans laisser de lignes vides entre les données).

Tu peux aussi ajuster l'échelle de l'abscisse des graphiques.

Note que je me suis permis de corriger les calculs dans les colonnes N et O.

En effet, pour une accélération constante, la formule pour calculer le déplacement est celle=ci : d2 = d1 + v1*t + 0.5*a*t^2

81creation-cycle.xlsm (128.15 Ko)

A+

Rechercher des sujets similaires à "macro creer cycle"