Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Matrice des distances

  • Initiateur de la discussion Initiateur de la discussion Pablo85
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Pablo85

XLDnaute Nouveau
Bonjour
je suis etudiant et j'ai une preoccupation concernant le VBA... J'aimerais si possible d'avoir une solution pour ce probleme.
Calculez la matrice des distances entre chaque paire de clients.
I La distance de i à j (où i <j) est donnée par le Pythagore
règle.???
Compute the matrix of distances between every pair of customers.
I The distance from i to j (where i <j) is given by the Pythagoras
rule.????
 
Bonjour Pablo85, bienvenue sur XLD,

Joignez le fichier Excel anonymisé où vous avez défini la position de chaque client.

Une dizaine de clients suffit.

A+
 
Dernière édition:
Bonjour.
Piste: Cela signifie par la règle qui définit la longueur de l'hypothénuse d'un triangle rectangle en fonction de la longueur des deux cotés adjacents selon le théorème de Pythagore. La distance entre deux points de coordonnées données se ramène en effet à l'application de ça à leurs différences de coordonnées.
 
Ben, non : Là tu calcule la distance à l'origine de chaque point. D'après ce que j'ai compris, il est demandé la matrice des distances entre chaque paire de points. Donc je suppose une grille de 85×85, diagonale exclue.
 
Ah oui j'oubliais qu'il faut créer les combinaisons (paires).

Comme il n'y en a pas un très grand nombre ceci suffit, voyez ce fichier (2) :
VB:
'---liste des combinaisons et distances---
Cells(1, 5) = "Paire": Cells(1, 6) = "Distance"
n = 1
For i = 2 To l
    For j = i + 1 To l + 1
        n = n + 1
        Cells(n, 5) = Cells(i, 1) & " * " & Cells(j, 1)
        Cells(n, 6) = Sqr((Cells(i, 2) - Cells(j, 2)) ^ 2 + (Cells(i, 3) - Cells(j, 3)) ^ 2)
Next j, i
End Sub
 

Pièces jointes

Si l'on veut créer la matrice carrée des distances on utilisera ce fichier (3) :
VB:
'---matrice carrée des distances---
[E1].Resize(, l) = Application.Transpose([A2].Resize(l))
For i = 2 To l
    For j = i + 1 To l + 1
        Cells(i, j + 3) = Sqr((Cells(i, 2) - Cells(j, 2)) ^ 2 + (Cells(i, 3) - Cells(j, 3)) ^ 2)
        Cells(j, i + 3) = Cells(i, j + 3)
Next j, i
 

Pièces jointes

1 - Déjà acquérir le B.A. BA d'Excel sans VBA ...
2 - L'algorithme de programmation de cet exercice est indépendant du langage utilisé.
3 - La maîtrise de Pythagore est une lacune pour un étudiant.

l'adaptation à VBA est tributaire du point 1 😎

solution sans VBA
😎
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…