Déplacement de 3 plots dans un rectangle sans se chevaucher

  • Initiateur de la discussion Initiateur de la discussion pascal82
  • 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 !

pascal82

XLDnaute Occasionnel
Bonjour à toutes et à tous,

J'ai besoin d'une âme charitable.
J'ai trois plots (A,B et C) qui doivent se déplacer sans se chevaucher dans un rectangle et je ne n'arrive pas a programmer son fonctionnement.

Nota: Je dois garder la structure xi,yi parce que utilisés dans une formule par la suite.

Un grand Merci par avance
Cordialement

Code:
Option Explicit

Sub Plot()
Dim x1%, y1%, x2%, y2%, x3%, y3%
Dim A%, B%, C%
'coordonnées plot A
    For x1 = -76 To -72
    Range("a1").Value = x1
        For y1 = -1 To 1
        Range("a2").Value = y1
            'coordonnées plot B
            For x2 = -76 To -72
            Range("b1").Value = x2
                For y2 = -1 To 1
                Range("b2").Value = y2
                    'coordonnées plot C
                    For x3 = -76 To -72
                    Range("c1").Value = x3
                        For y3 = -1 To 1
                        Range("c2").Value = y3

A = Cells(x1, y1)
B = Cells(x2, y2)
C = Cells(x3, y3)

If A <> B And A <> C And B <> C Then
MsgBox "A différent de B et de C"
End If
                        Next
                    Next
                Next
            Next
        Next
    Next


End Sub
 

Pièces jointes

Re : Déplacement de 3 plots dans un rectangle sans se chevaucher

Bonsour®
il y a 5 abscisses, 3 ordonnées ce qui fait 15 couples possibles.
il suffit de piocher aléatoirement 3 couples dans cette liste.

la liste pourra etre mise dans un objet dictionnaire, le tirage fait de façon consécutive pour supprimer les doublons.

en pièce jointe une solution sans macro (appuyer sur F9)
par macro il suffira de faire un copier-Coller spécial Valeur dans la plage utilisée pour le graphe
 

Pièces jointes

  • Capture.JPG
    Capture.JPG
    38.3 KB · Affichages: 60
  • Position Plot.xls
    Position Plot.xls
    41.5 KB · Affichages: 54
  • Capture.JPG
    Capture.JPG
    38.3 KB · Affichages: 70
  • Position Plot.xls
    Position Plot.xls
    41.5 KB · Affichages: 56
  • Capture.JPG
    Capture.JPG
    38.3 KB · Affichages: 60
  • Position Plot.xls
    Position Plot.xls
    41.5 KB · Affichages: 54
Re : Déplacement de 3 plots dans un rectangle sans se chevaucher

Bonjour pascal82, Modeste geedee 🙂, à tous,

Pour le fun, une méthode sans graphe, indépendante des données, basée sur la géométrie du rectangle et qui utilise une mise en forme conditionnelle.

Feuille "RECT-3x5" : une méthode n'utilisant qu'une colonne mais gourmande en temps de calcul et avec une formule de MFC alambiquée:
Code:
=OU(  INDEX(ZoneAlea; 5*( LIGNES($F$3:F3)-1) + COLONNES($F$3:F3))  =PETITE.VALEUR(ZoneAlea;LIGNE(INDIRECT("$1:$" & NbrePoints))))

Feuille "RECT-10x10" : une autre méthode utilisant deux colonnes, plus courte en temps de calcul et avec une formule de MFC simple:
Code:
= INDEX(pourMFC_2; 10*( LIGNES($F$3:F3)-1) + COLONNES($F$3:F3))

Dans la cellule jaune, saisir le nombre de points à afficher.
 

Pièces jointes

Re : Déplacement de 3 plots dans un rectangle sans se chevaucher

Bonjour Modeste geedee, mapomme, et à tous

@ Modeste geedee. Il faut reconnaître que je n'avais absolument pas pensée a cette approche qui est très ingénieuse.
@ mapomme. Votre réponse dépasse de loin ma demande, la méthode que vous utilisez pour le 10x10 offre beaucoup plus de possibilité et avec un temps de traitement plus que raisonnable.

Je fais quelques tests et reviens si besoin

Encore un grand merci pour votre implication

Très cordialement
 
- 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

Discussions similaires

Réponses
1
Affichages
530
Réponses
0
Affichages
469
Réponses
3
Affichages
590
Retour