Bonjour à tous, j’espère que tout se passe pour le mieux de votre côté.
Je rencontre une difficulté et j’ai besoins d’aide.
J’ai intégré un script calculant automatiquement la distance ALLER SIMPLE entre les points renseignés en Cologne C et D. (Ligne 8 en exemple)
Cependant, la distance kilométrique ne sera pas toujours calculée automatiquement dans la gestion de mon fichier : dans ce cas les cellules resteront donc vides et la distance sera renseignée manuellement pour UN ALLER-RETOUR (Ligne 9 en exemple).
Mon objectif qui me pose problème se situe dans la cellule E269. Sa seule fonction est d’additionner l’ensemble des kilomètres parcouru ALLER-RETOUR. Or, le résultat actuel est faussé car il n’a été pris en compte que la distance d’aller en cellule E8 et non le retour (Le résultat attendu devrait donc être de 526 KM dans cet exemple et non 313 KM).
Je suis donc à la recherche d’une âme charitable pour, soit :
Solution idéale : Modifier mon script pour calculer une distance en aller-retour (et non en simple aller) ;
Me communiquer la formule à intégrer en cellule E269 pour que cette dernière additionne également la distance de retour uniquement lorsque le calcul est généré automatiquement.
Voici le fichier en question : Classeur1.xlsm (35,1 Ko) (Vous constaterez que j’ai surligné en jaune les cases servant d’exemple ainsi que celle contenant la formule posant problème).
impossible car la distance kilométrique ne sera pas toujours calculée automatiquement dans la gestion de mon fichier et je ne souhaite pas ajouter une Cologne.
Je viens de télécharger le fichier et aucuns souci, le bouton « calcul » fonctionne bien.
je ne sais pas ce que je dois faire pour te donner l’accès au fichier sans te communiquer la totalité du classeur.
Effectivement la solution idéal est de modifier le script pour doubler la distance.
Voici mon script:
'====================
'Calcul des distances
'www.peachbird.com
'====================
Option Explicit
Public Const DIST = « Distance entre 2 villes »
Sub Distance()
Dim lg As Integer, i As Integer
Dim Url As String, Txt As String, e, temps
With Sheets(« 2020 (RIVIERE Florence) »)
lg = .Cells(Rows.Count, 1).End(xlUp).Row
For i = 8 To lg
If Range(« C » & i).Value <> « » And Range(« C » & i).Value <> 0 Then
Url = DIST & .Range(« C » & i).Value & « &destination= » & .Range(« D » & i).Value
With CreateObject(« WINHTTP.WinHTTPRequest.5.1 »)
.Open « GET », Url, False
.send
Txt = .responseText
End With
.Range(« E » & i).Value = Split(Split(Txt, « id= »« distanciaRuta »« > »)(1), « »)(0)
'en nombre
.Range(« E » & i).NumberFormat = « ##,## »
.Range(« E » & i) = Val(Replace(.Range(« E » & i), « , », « »))
End If
Next i
End With
MsgBox « Le calcul des KMs est terminé ! »
End Sub