VBA : Retrancher n tant que y > x

cibleo

XLDnaute Impliqué
Bonsoir le forum, :)

J'ai un petit exercice à vous soumettre en VBA.
Explication : je dessers une localité en passant par 4 points (toujours dans un ordre établi) et dois déposer 1 personne à chacun de ces points.
Il faut 15 minutes pour rejoindre chaque point (c'est une constante) mais chaque personne, devant être déposée, dispose de RDV fixés qui n'ont pas d'ordre chronologique (plage jaune).

Question : comment calculer des horaires de dépose (plage verte) permettant à chacun de ne pas arriver en retard aux RDV fixés initialement.

En Feuil1, je suis parvenu à résoudre cet algorithme manuellement en procédant par étapes.
1ère étape : Calcul d'horaire en plage [G6:G3] aprés je pense qu'il faille passer par une boucle Do....loop, mais là je nage :(

VB:
Sub Calcul_Horaire()
'Affiche les horaires dans [G6:G3]
'en retranchant 15 minutes à chaque itération
temps = (1 / 1440) * 15 '= 15 minutes
For i = 6 To 3 Step -1
'A la 1ère itération, je laisse la valeur initiale
'soit la valeur de F6 ici
If i = 6 Then Cells(i, 7) = Cells(i, 6) Else _
Cells(i, 7) = Cells(i + 1, 7) - temps
Next
End Sub

Pouvez-vous m'aider, Cibleo
 

Pièces jointes

  • Desserte.xls
    29.5 KB · Affichages: 48

cibleo

XLDnaute Impliqué
Re : VBA : Retrancher n tant que y > x

Re job75

N'en jettez plus :p

J'ai un rapport compliqué avec Application.Index, je n'ai jamais compris à quoi cela servait.
Je suis pourtant allé voir sur le site de J-Boisgontier (les tableaux VBA) mais rien à faire.
Y 'a des syntaxes comme ça qui me sont anxyogènes :p
Mais bon, content que tu l'ai utilisé, je vais décrypter.

Au plaisir et merci.
Cibleo
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : VBA : Retrancher n tant que y > x

Re,

C'est simplement la fonction INDEX des feuilles de calcul.

Appliquée à une matrice, elle renvoie la valeur d'un élément, déterminé par ses n° de ligne et de colonne.

Si un n° est nul ou omis, c'est la colonne ou la ligne entière qui est renvoyée sous forme de vecteur.

A+
 

Discussions similaires

Réponses
7
Affichages
444

Statistiques des forums

Discussions
312 685
Messages
2 090 938
Membres
104 703
dernier inscrit
romla937