Cliquer sur 2 cellules ensuite ...........VBA

C

Caninge

Guest
Bonjour à tous

Vos compétences me seront bien utiles pour réaliser le petit programme que je veux faire.

Comment lancer une macro en ayant au préalable cliqué sur 2 cellules auparavant.

Comme c'est mon habitude je joins un exemple.

en vous remerciant.

CANINGE






:unsure: [file name=RouteV.zip size=4181]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/RouteV.zip[/file]
 

Pièces jointes

  • RouteV.zip
    11.2 KB · Affichages: 16
  • RouteV.zip
    11.2 KB · Affichages: 13
  • RouteV.zip
    11.2 KB · Affichages: 16

Creepy

XLDnaute Accro
Bonsoir,

Ton problème m'a interpellé !!

En effet doit y avoir un moyen de faire ca. Après quelques reflexions, je me base sur un systeme de coordonnées.

Le principe chaque cellule est composée d'une lettre et d'un chiffre. Je converti la lettre en chiffre et j'additionne les deux pour obtenir un total.

Ensuite je fait pareil pour la deuxième valeur.

Je fais la somme des deux et dans ton exemple je sais donc quel 'chemin' est utilisé !

Ca parait simple comme ca mais ton souci est complexe. Par exemple comment arriver à distinguer les combinaison F7 & G6 (6+7 et 7+6).

Bref tu trouveras en PJ un exemple de mes recherches. ATTENTION il s'agit d'un premier essai, mais je sais pas si j'arriverais à faire mieux.

Par contre si d'autres personnes ont des idées je suis preneur pour améliorer le truc. Le calcul de coordonnées me semble la meilleure solution ?? !! ??

@+

Creepy

[file name=RouteV_20050922213640.zip size=12525]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/RouteV_20050922213640.zip[/file]
 

Pièces jointes

  • RouteV_20050922213640.zip
    12.2 KB · Affichages: 10

Hervé

XLDnaute Barbatruc
Bonsoir caninge, creepy

Une autre approche en par l'intermédiaire d'un boolean.

J'ai juste traité le cas j5 o9 plage 1

Je ne pense pas que ma méthode soit bonne, elle me semble trop 'imprévisible'.

en plus pour plusieurs cas de trajet, j'ai peur que ca devienne vite le bazar en terme de condition.

C'est juste un essai, a suivre...

salut
[file name=Routecaninge.zip size=12196]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Routecaninge.zip[/file]
 

Pièces jointes

  • Routecaninge.zip
    11.9 KB · Affichages: 14

Creepy

XLDnaute Accro
RE Bonsoir all,

Salut Hervé comment vas-tu ?

Le problème t'interesse aussi !! lol

J'ai modifié mon fichier maintenant il te calcule 'l'itineraire' de facon dynamique quelque soit le chemin

Tu cliques juste sur 1 cellule puis l'autre et il te donne le les deux cellules cliquées.

Maintenant il faudrait arriver à stocker ces variables dans un tableau et non sur la feuille Excel. Mais le HIC c'est qu'entre deux execution de la macro le tableau devrait garder les deux premières valeurs !!

Je continue à chercher une solution 'Full dynamique'

@+

Creepy [file name=RouteV_20050922220555.zip size=12303]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/RouteV_20050922220555.zip[/file]
 

Pièces jointes

  • RouteV_20050922220555.zip
    12 KB · Affichages: 8

Creepy

XLDnaute Accro
RE all,

Avec l'aide de hervé nous t'avons fait un full dynamqiue !

Regarde en PJ

Merci de l'aide hervé

@+

Creepy [file name=RouteV_20050922224420.zip size=13855]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/RouteV_20050922224420.zip[/file]
 

Pièces jointes

  • RouteV_20050922224420.zip
    13.5 KB · Affichages: 11

Hellboy

XLDnaute Accro
Bonjour tout le monde

Je vois que j'arrive en retad, tant pis j'expose quand même.

Je n'ai pas fait le traitement des plages, mais j'ai gèré la logique de l'itinéaire.

[file name=routev.zip size=11452]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/routev.zip[/file]
 

Pièces jointes

  • routev.zip
    11.2 KB · Affichages: 14
  • routev.zip
    11.2 KB · Affichages: 14
  • routev.zip
    11.2 KB · Affichages: 13

Caninge

XLDnaute Accro
AH me voilà

Bonjour à Creepy Hervé et Hellboy

Je m'excuse , hier soir impossible de cliquer sur le lien:

Réponse!!!!!!!!!

LE SITE NE REPOND

En faite ce que je veux faire c'est mettre sur fond d'écran une carte routière:

Format/Feuille/Arrière-Plan

Certaines cellules représente des villes ou lieux-dits

Alors je pense que m'avez compris je veux faire des itinéraires qui
s'installent au fur et à mesure dans la feuille 'Profil '

La solution de Creepy me convient très bien avec les fenêtres qui s'ouvrent .

Mais soit je n'ai pas compris le fonctionnement soit la macro n'est pas terminé pour installer les circuits dans la feuille 'Profil'

Enfin pour l'instant je vous remercie.


CANINGE
 

Hellboy

XLDnaute Accro
re a tous

Creepy a fait de belle fenêtre qui s'ouvre, je te l'accorde.

Je tente de complèter avec ma version.


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim strÉtinéaire            As String
Dim bytÉtinéaireNo        As Byte
Dim vrtÉtinéaire    As Variant, vrtPlage        As Variant

vrtÉtinéaire = Array('$J$9:$O$5', '$J$9:$N$2', '$Y$18:$Y$9')   
'    Étinéaire possible
vrtPlage = Array('$B$3:$D$14', '$F$3:$H$14', '$J$3:$L$18')       
'    Plage de route correspondante aux étinéaires possible

       
With Target
                   
Select Case .Address
                               
Case '$J$9', '$O$5', '$N$12', '$Y$18', '$Y$9' '    Mettre toute les adresses qui servent pour le étinéraires ici
                                           
If Not Click_Variable(0) = Empty Then        '    Remplit la vaiable des étinéaires
                                                Click_Variable(0) = .Address
                                           
Else
                                                    Click_Variable(1) = .Address
                                           
End If
                                   
                                           
If Not Click_Variable(0) = Empty And Not Click_Variable(0) = Empty Then    '    Si la variable est pleine alors l'étinéaires est complètes
                                                    strÉtinéaire = Click_Variable(0) & ':' & Click_Variable(1)
                                           
'    Faire le tour des étiniaire possible pour comparer avec le choix de l'utilisateur
                                                   
For bytÉtinéaireNo = 0 To UBound(vrtÉtinéaire)
                                                           
If vrtÉtinéaire(bytÉtinéaireNo) = strÉtinéaire Then
                                                           
'    Lorsque trouve, copy l'étinéaire a l'endroit voulut. Mais je ne sais pas comment tu l'évalue ?
                                                                ThisWorkbook.Sheets('Route').Range(vrtPlage(bytÉtinéaireNo)).Copy _
                                                                Destination:=ThisWorkbook.Sheets('Profil').Cells(4, 4)
                                                           
End If
                                                   
Next bytÉtinéaireNo
                                               
' Ré-initialise la variable pour le prochain choix
                                                    Click_Variable(0) = Empty
                                                    Click_Variable(1) = Empty
                                           
End If
               
End Select
   
End With
End Sub

[file name=routev2.zip size=12730]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/routev2.zip[/file]
 

Pièces jointes

  • routev2.zip
    10.4 KB · Affichages: 12
  • routev2.zip
    10.4 KB · Affichages: 13
  • routev2.zip
    10.4 KB · Affichages: 11
C

CANINGE

Guest
Bonjour Hellboy

J'ai regardé ton fichier , hum c'est compliqué tout ça pour moi.
D'autant plus que je n'arrive pas à coller les plages dans la feuille 'Profil'
ou alors il voudrait que tu m'expliques
Excuse !!!!!!!!!

A bientôt

Merci

CANINGE :S :huh:
 

Hellboy

XLDnaute Accro
Bonjour Caninge, le forum

Je dois m'excuser aussi, le fichier que je t'ai fournis n'étais pas au point.

Dans le codes, j'ai insérer des commentaires pour tenter de t'orienté sur ce que fait tel ou tel chose fait. Si tu as des questions, sur le code, soit spécifique pour que je puisse te répondre en conséquence.

Il reste une chose que je ne comprend pas, et c'est la logique du colage des données. Je ne sais pas ou les mettre dans la feuille 'Profil' une fois la Plage déterminé.

[file name=routev2_20050924122547.zip size=13813]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/routev2_20050924122547.zip[/file]

Message édité par: Hellboy, à: 24/09/2005 12:26
 

Pièces jointes

  • routev2_20050924122547.zip
    13.5 KB · Affichages: 9

Caninge

XLDnaute Accro
Rebonjour Hellboy et à tous les autres bien sûr

J'ai modifié mon fichier pour bien me faire comprendre du moins je l'espère.

C'est un circuit que je veux faire avec plusieurs étapes.
Chaque étape a une plage.

Et toutes ces plages je veux les mettre les unes en dessous des autres.
Et tout cela pour établir un profil du parcours avec Kilomètres et altitudes.

Je joins le fichier modifié:

CANINGE

MERCI






:) [file name=RouteV_20050925104914.zip size=14261]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/RouteV_20050925104914.zip[/file]
 

Pièces jointes

  • RouteV_20050925104914.zip
    13.9 KB · Affichages: 11

Hellboy

XLDnaute Accro
Bonjour Caninge, et le forum

Je comprend ce que tu cherche a faire et c'est plus visuel avec ton dernier fichier. Mais je crois que je t'ai tout mis en place pour que tu puisse accomplir ce que tu veux. Je comprend que c'est peut être ton batême en VBA, mais il faut faut commencer en quelque part.

Je n'ai malheureusement pas le temps de le faire pour toi. Je suis désolé. Comme je te le dis, pose des questions spécifique sur la partie du code qui te pose des ennnuies et je ou d'autres vont être disponible pour te répondre, ça je te le garantie.

Bon courage
 

Statistiques des forums

Discussions
312 298
Messages
2 086 977
Membres
103 416
dernier inscrit
SEB28110