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

XL 2010 Recherche de X et Y selon dimensions L1 et L2

Titi456

XLDnaute Junior
Bonjour,

Je recherche une formule à mettre en cellules H8 et H9 pour pouvoir trouver les dimensions X et Y selon les dimensions L1 et L2 (voir fichier joint).
Je conçois que ma question est plutôt orientée pour un ingénieur en calculs mais peut-être qu'il y en aurait qqn sur ce site qui pourrait m'aider.

Mes meilleures salutations,

Thierry
 

Pièces jointes

  • Recherche de X et Y selon dimensions L1 et L2.xlsx
    44.3 KB · Affichages: 10

C'est papy Mougeot !

XLDnaute Occasionnel
Bonjour,
C'est sympa comme question. Mais il manque des éléments à mon avis. Quelle est la valeur de R19 (rayon), et quelle relation peut on avoir pour trouver la valeur de X. Connait on la valeur de l'angle opposé à X. Les valeurs L1 et L2 comprennent elles les arcs de cercle R19.
 
Dernière édition:

Titi456

XLDnaute Junior
Bonjour fcyspm30,

Merci pour votre message. Le rayon R19 équivaut à un rayon de 19mm. Effectivement les distances L1 et L2 comprennent les arcs de cercle. Les angles ne sont pas connu malheureusement; raison pour laquelle ma question relève plutôt d'un ingénieur calculateur.

Meilleures salutations,

Thierry

 

Pièces jointes

  • Recherche de X et Y selon dimensions L1 et L2.xlsx
    44.4 KB · Affichages: 3
  • Recherche de X et Y selon dimensions L1 et L2.jpg
    51 KB · Affichages: 15

Titi456

XLDnaute Junior
Bonjour job75,

La distance recherchée "X" correspond au décalage par rapport à l'entraxe de mes 2 poulies.

Meilleures salutations,

Thierry
 

Pièces jointes

  • Recherche de X et Y selon dimensions L1 et L2.xlsx
    173.3 KB · Affichages: 6
  • Recherche de X et Y selon dimensions L1 et L2.jpg
    51.5 KB · Affichages: 12

Titi456

XLDnaute Junior
C'est la distance entre la hauteur (de longueur Y) par rapport au point central de mes deux poulies.

Si L1 = L2, X = 0
 

Pièces jointes

  • Recherche de X et Y selon dimensions L1 et L2.jpg
    50.6 KB · Affichages: 14
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour Titi456, le forum,

Je reviens tardivement sur ce fil avec une solution qui je pense est assez complète.

Voyez le fichier joint, les formules trigonométriques devraient être comprises par un élève de terminale.

La ligne donnant le résultat est la ligne 521 colorée par une MFC, j'ai fait 2 extrapolations autour.

A+
 

Pièces jointes

  • Recherche de X et Y selon dimensions L1 et L2.xlsx
    315.3 KB · Affichages: 6

job75

XLDnaute Barbatruc
Bonjour Titi456, le forum,

Ceci est plus simple, voyez le nom défini lig et les formules en J32 et J33 :
Code:
=PREVISION(0;DECALER(INDIRECT("C"&lig-4);;;4);DECALER(INDIRECT("G"&lig-4);;;4))
=PREVISION(0;DECALER(INDIRECT("D"&lig-4);;;4);DECALER(INDIRECT("G"&lig-4);;;4))
On voit mieux quelles sont les plages utilisées.

A+
 

Pièces jointes

  • Recherche de X et Y selon dimensions L1 et L2.xlsx
    336.5 KB · Affichages: 11
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour le forum,

Je viens terminer proprement ce fil.

Pour avoir une meilleure précision il faut utiliser un pas de 0,001 degré.

Mais avec les fichiers précédents il faudrait un tableau de 90 000 lignes et faire 8 100 000 000 itérations pour les calculs de la distance en colonne G, ce n'est pas envisageable.

Par contre en ajoutant la colonne H et en utilisant cette fonction VBA il n'y a pas de problème :
VB:
Function MaPrevision(Entraxe#, R#, L1#, L2#, lig1&, lig2&)
Dim p#, a(0 To 200, 1 To 4), b(0 To 200, 1 To 4), i&, min1#, min2#, j&, d#, X#, Y#
p = Application.Pi()
a(0, 1) = Cells(lig1 - 1, 1)
b(0, 1) = Cells(lig2 - 1, 1)
For i = 0 To 200
    a(i, 1) = a(0, 1) + i / 1000 'angle en degré, pas de 0.001
    a(i, 2) = a(i, 1) * p / 180 'angle en radian
    a(i, 3) = -Entraxe / 2 - R * Cos(a(i, 2)) + (L1 - R * a(i, 2)) * Sin(a(i, 2)) 'X1
    a(i, 4) = R * Sin(a(i, 2)) + (L1 - R * a(i, 2)) * Cos(a(i, 2)) 'Y1
    b(i, 1) = b(0, 1) + i / 1000 'angle en degré, pas de 0.001
    b(i, 2) = b(i, 1) * p / 180 'angle en radian
    b(i, 3) = Entraxe / 2 + R * Cos(b(i, 2)) - (L2 - R * b(i, 2)) * Sin(b(i, 2)) 'X2
    b(i, 4) = R * Sin(b(i, 2)) + (L2 - R * b(i, 2)) * Cos(b(i, 2)) 'Y2
Next i
min1 = 9 ^ 99
For i = 0 To 200
    min2 = 9 ^ 99
    For j = 0 To 200
        d = Sqr((a(i, 3) - b(j, 3)) ^ 2 + (a(i, 4) - b(j, 4)) ^ 2) 'distance des extrémités
        If d < min2 Then min2 = d
    Next j
    If min2 < min1 Then min1 = min2: X = a(i, 3): Y = a(i, 4)
Next i
MaPrevision = Array(X, Y) 'vecteur horizontal
End Function
On peut vérifier les résultats en faisant L1=L2 et en allant jusqu'à 800 000 mm...

A+
 

Pièces jointes

  • Recherche de X et Y selon dimensions L1 et L2.xlsm
    350.4 KB · Affichages: 3
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour le forum,

Ce n'était pas fini.

Avec ce code on peut atteindre la précision que l'on veut, ici 0,00001 degré :
VB:
Function MaPrevision(Entraxe#, R#, L1#, L2#, lig1&, lig2&)
Dim p#, pas#, inia#, inib#, N%, a(0 To 20, 1 To 4), b(0 To 20, 1 To 4)
Dim i&, min1#, min2#, j&, d#, temp#, X#, Y#
p = Application.Pi()
pas = 0.1 'pas initial
inia = Cells(lig1 - 1, 1)
inib = Cells(lig2 - 1, 1)
For N = 1 To 4 'pour atteindre une précision de 0,00001 degré
    pas = pas / 10
    a(0, 1) = inia
    b(0, 1) = inib
    For i = 0 To 20
        a(i, 1) = a(0, 1) + pas * i 'angle en degré
        a(i, 2) = a(i, 1) * p / 180 'angle en radian
        a(i, 3) = -Entraxe / 2 - R * Cos(a(i, 2)) + (L1 - R * a(i, 2)) * Sin(a(i, 2)) 'X1
        a(i, 4) = R * Sin(a(i, 2)) + (L1 - R * a(i, 2)) * Cos(a(i, 2)) 'Y1
        b(i, 1) = b(0, 1) + pas * i 'angle en degré
        b(i, 2) = b(i, 1) * p / 180 'angle en radian
        b(i, 3) = Entraxe / 2 + R * Cos(b(i, 2)) - (L2 - R * b(i, 2)) * Sin(b(i, 2)) 'X2
        b(i, 4) = R * Sin(b(i, 2)) + (L2 - R * b(i, 2)) * Cos(b(i, 2)) 'Y2
    Next i
    min1 = 9 ^ 99
    For i = 0 To 20
        min2 = 9 ^ 99
        For j = 0 To 20
            d = Sqr((a(i, 3) - b(j, 3)) ^ 2 + (a(i, 4) - b(j, 4)) ^ 2) 'distance des extrémités
            If d < min2 Then min2 = d: temp = b(j, 1)
        Next j
        If min2 < min1 Then min1 = min2: inia = a(i, 1) - pas: inib = temp - pas: X = a(i, 3): Y = a(i, 4)
    Next i
Next N
MaPrevision = Array(X, Y) 'vecteur horizontal
End Function
Pour L1 = L2 = 800000 mm on obtient X = -0,02162 mm.

A+
 

Pièces jointes

  • Recherche de X et Y selon dimensions L1 et L2.xlsm
    350.3 KB · Affichages: 4
Dernière édition:

Discussions similaires

Réponses
3
Affichages
340
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…