Distancier km / tps de parcours

Bonjour,

Je souhaite réaliser un distancier entre 2 villes intégrant le kilométrage et le temps de parcours, je précise que ces données seront à entrer manuellement (sans clé API)

L'idée est d'utiliser un tableau à 2 entrées avec une macro (comme le fichier distancier-mars trouvé ici).

J'ai déjà bien avancé le sujet (merci excel-pratique, entres autres), mais je bloque pour intégrer les deux valeurs. Faudrait il utiliser 2 tableaux ?

Je vous joints mon fichier.

En vous remerciant de votre aide !

Sébastien

Je pense que pour rentrer tes deux valeurs, il suffirait de faire une "recherche" avec deux boucles.
Une qui te permets de trouver la colonne de la ville dans la ligne 2 et une autre pour trouver la bonne ligne de ville dans la colonne A.
Ensuite tu fais une macro du style :

sheets("XXX").cells("ValeurLigne","ValeurColonne").value = "Ta variable de temps"

sheets("XXX").cells("ValeurLigne","ValeurColonne + 1").value = "Ta variable de temps"

Merci, je vais étudier cette technique et reviendrai vers vous (que cela fonctionne ou non!)

Avec ce code ça fonctionne :

Private Sub CommandButton_valider_Click()
If Not trouvecellule Is Nothing Then
trouvecellule = CDbl(TextBox_tps)
trouvecellule2 = CDbl(TextBox_km)
End If

End Sub
For i = 2 To Sheets("Distancier_km_tps").Cells(2, Columns.Count).End(xlToLeft).Column 'cela trouve ton numéro de colonne
    If Sheets("Distancier_km_tps").Cells(2, i).Value = xxx Then 'Rajoute Ta variable de ville
    Exit For
    End If
i = i + 1
Next i

For j = 2 To Sheets("Distancier_km_tps").Cells(Rows.Count, 1).End(xlUp).Row ' cela trouve ton numéro de ligne
    If Sheets("Distancier_km_tps").Cells(j, 1).Value = xxx Then 'Rajoute Ta variable de ville différente de la première
    Exit For
    End If
i = i + 1
Next i

Sheets("Distancier_km_tps").Cells(j, i).Value = xxx 'Rajoute ta variable de temps
Sheets("Distancier_km_tps").Cells(j, i + 1).Value = xxx 'Rajoute ta variable de distance

Si jamais j'ai fais cela, pas tester mais devrait fonctionner

Alléluia ! ça fonctionne !!!

ci dessous le code utilisé

Private Sub ComboBox_ar_Change()
If Not trouvecellule Is Nothing Then
TextBox_tps = trouvecellule And TextBox_km = trouvecellule2
End If

End Sub

Private Sub ComboBox_de_Change()
If Not trouvecellule Is Nothing Then
TextBox_tps = trouvecellule And TextBox_km = trouvecellule2
End If

End Sub

Private Sub CommandButton_fermer_Click()
Unload Me

End Sub

Private Sub CommandButton_valider_Click()
If Not trouvecellule Is Nothing Then
trouvecellule = CDbl(TextBox_tps)
trouvecellule2 = CDbl(TextBox_km)
End If

End Sub

Private Sub UserForm_Initialize()
' chargement en abcisse de la base km
ComboBox_ar.List = Application.WorksheetFunction.Transpose([_base_arrivee_km])
End Sub

Function trouvecellule() As Range
Dim ligne As Integer, colonne As Integer, colonne2 As Integer
Dim c As Range

For Each c In [_base_depart]
If c = ComboBox_de Then ligne = c.Row
Next

For Each c In [_base_arrivee_km]
If c = ComboBox_ar Then colonne = c.Column
Next

If ligne > 0 And colonne > 0 Then
Set trouvecellule = Cells(ligne, colonne)
Else
Set trouvecellule = Nothing
End If

End Function

Function trouvecellule2() As Range
Dim ligne2 As Integer, colonne2 As Integer
Dim d As Range

For Each d In [_base_depart]
If d = ComboBox_de Then ligne2 = d.Row
Next

For Each d In [_base_arrivee_tps]
If d = ComboBox_ar Then colonne2 = d.Column
Next

If ligne2 > 0 And colonne2 > 0 Then
Set trouvecellule2 = Cells(ligne2, colonne2)
Else
Set trouvecellule2 = Nothing
End If

Peux-tu cloturer le sujet quand tu as finis ton sujet en cochant le signe validé sur le meilleur ?

Rechercher des sujets similaires à "distancier tps parcours"