Modéliser une fleche d'apres un angle sur un cercle

polobeg

XLDnaute Nouveau
Bonjour,

J'aimerai comme le titre l'indique modéliser une fleche sur un cercle d'apres un angle bien defini
j'ai eu beau regarder sur internet je ne trouve pas chaussures à mon pied.

Je vous laisse un fichier qui me semble sera plus parlant que du blabla
Si quelqu'un peut m'eclairer sur la marche à suivre.

Merci beaucoup à vous par avance.
( Novice dans le code ... mais soif d'apprendre )
 

Pièces jointes

  • Fleche sur cercle.xls
    23.5 KB · Affichages: 60
  • Fleche sur cercle.xls
    23.5 KB · Affichages: 66
  • Fleche sur cercle.xls
    23.5 KB · Affichages: 63
Dernière édition:

job75

XLDnaute Barbatruc
Re : Modéliser une fleche d'apres un angle sur un cercle

Bonjour polobeg,

Deux choses n'allaient pas.

1) Les cellules en D41:K41 sont fusionnées horizontalement donc il faut sauter les cellules vides :
Code:
  If c <> "" Then Rotation c, c(3) 'c <> "" car cellules fusionnées
2) Il faut prendre soin d'orienter correctement les flèches au départ.

Ci-joint votre fichier corrigé.

A+
 

Pièces jointes

  • Probléme(1).xls
    366.5 KB · Affichages: 28

job75

XLDnaute Barbatruc
Re : Modéliser une fleche d'apres un angle sur un cercle

Re,

Au cas où l'on efface des cellules en D41:K41 il vaut mieux utiliser :

Code:
If c.Address = c.MergeArea(1).Address Then Rotation c, c(3)
Autrement les flèches et les Labels correspondants ne sont pas traités.

Fichier (2).

A+
 

Pièces jointes

  • Probléme(2).xls
    362 KB · Affichages: 25

polobeg

XLDnaute Nouveau
Re : Modéliser une fleche d'apres un angle sur un cercle

Re,

merci des ces informations. Je pense avoir compris sur le principe se que vous vouliez dire je crois :)

Me reste plus qu'a automatisé la chose. D'une pageà une autre, Fichier joint pour mieux comprendre la chose.

Cordialement
 

Pièces jointes

  • Probléme.xls
    132 KB · Affichages: 39
  • Probléme.xls
    132 KB · Affichages: 37
  • Probléme.xls
    132 KB · Affichages: 35
Dernière édition:

job75

XLDnaute Barbatruc
Re : Modéliser une fleche d'apres un angle sur un cercle

Re,

Sur la plage D41:H43, alimentée par formules, l'évènement Change ne peut pas se créer.

Le plus simple est de créer ici l'évènement Activate.

Donc mettre au début du code de la feuille ces 2 macros :

Code:
Private Sub Worksheet_Activate()
Dim c As Range
For Each c In [D41:H41] 'plage à adapter
  If c <> "" Then Rotation c, c(3) 'c <> "" car cellules fusionnées
Next
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
For Each c In [J41:K41] 'plage à adapter
  If c <> "" Then Rotation c, c(3) 'c <> "" car cellules fusionnées
Next
End Sub
PS: la flèche A_1 n'a pas une bonne orientation...

Bonne nuit.
 

job75

XLDnaute Barbatruc
Re : Modéliser une fleche d'apres un angle sur un cercle

Bonjour polobeg, le forum,

Concernant les Labels, sur Excel 2003, le texte ne s'affiche pas complètement.

.AutoSize = True ne semble pas fonctionner correctement.

Je n'ai pas de solution por l'instant, sauf à donner une largeur constante à ces Labels.

A+
 

job75

XLDnaute Barbatruc
Re : Modéliser une fleche d'apres un angle sur un cercle

Re,

J'y suis arrivé avec .WordWrap à False et l'ajout d'espaces :

Code:
With ActiveSheet.OLEObjects("Label" & nomfleche) 'objet ActiveX renommé
  .Object.AutoSize = False
  .Object.WordWrap = False
  .Object.Caption = nom & " " & Adegre.Text & "   "
  .Width = 200
  .Object.AutoSize = True
'----------------
Fichier (3).

A+
 

Pièces jointes

  • Probléme(3).xls
    215 KB · Affichages: 40
Dernière édition:

polobeg

XLDnaute Nouveau
Re : Modéliser une fleche d'apres un angle sur un cercle

Bonjour Job,

Oui effectivement j'ai vu sa.
Et ce matin en trifouillant les propriété j'ai trouver que cette solution ci que j'ai enregistré dans la macro mais avec un longueur fixe aux labels.
Je test la tienne des que possible.

Une fois mon fichier complet je le mettrais en ligne pour voir une fois fini.

En tout cas un ENORME merci à toi.
Si avec sa j'ai pas une promotion :p
 

job75

XLDnaute Barbatruc
Re : Modéliser une fleche d'apres un angle sur un cercle

Re,

Je corrige le code des Labels du fichier (3) avec ceci, c'est mieux :

Code:
With ActiveSheet.OLEObjects("Label" & nomfleche) 'objet ActiveX renommé
  .Object.AutoSize = False
  .Object.WordWrap = False
  .Object.Caption = nom & " " & Adegre.Text
  .Object.AutoSize = True
  .Width = 1.2 * .Width 'ajustement
  .Height = 1.2 * .Height
'------------
A+
 
Dernière édition:

polobeg

XLDnaute Nouveau
Re : Modéliser une fleche d'apres un angle sur un cercle

Voila pour moi je pense que c'est tout PARFAIT.

Merci beaucoup, apres j'ai fait des réajustement couleur du texte taille ... des broutilles pour des codeurs comme vous :)

Merci Bien encore une fois.
La je potasse un autre sujet, mais j'ouvrirais une autre discussion afin de savoir si cela est possible.
 

polobeg

XLDnaute Nouveau
Re : [RESOLU] Modéliser une fleche d'apres un angle sur un cercle

Bonjour à tous,

Je relance un coup ce petit sujet afin d'améliorer mon fichier.
Au post #21 nous avions réussi à ce que les fleches s'activent automatiquement. A force d'utiliser mon fichier tout les jours je me suis rendu compte que enfait elles ne s'active que lorque nous allons sur l'onglet concerné.
Si j'imprime en pdf la page sans etre allé alors dessus, rien ne s'active.

Ma question est : Est il possible que celles-ci s'active totalement automatiquement ? sans à avoir aller sur l'onglet ?

Merci d'avance
Cordialement
 

job75

XLDnaute Barbatruc
Re : [RESOLU] Modéliser une fleche d'apres un angle sur un cercle

Bonjour polobeg,

Il faut un évènement, il y a déjà les évènements Activate et Change, on peut ajouter si vous le voulez l'évènement SelectionChange.

Et on peut à tous leur faire exécuter cette unique macro :

Code:
Sub MAJ()
'touches Ctrl+M
Dim c As Range
For Each c In [D41:K41] 'plage à adapter
  If c <> "" Then Rotation c, c(3) 'c <> "" si cellules fusionnées
Next
End Sub
qui en plus se lance par les touches Ctrl+M.

Fichier (4).

Edit : le fichier était vérolé, je l'ai refait à partir du (3).

A+
 

Pièces jointes

  • Probléme(4).xls
    212 KB · Affichages: 42
Dernière édition:

polobeg

XLDnaute Nouveau
Re : [RESOLU] Modéliser une fleche d'apres un angle sur un cercle

J'ai essayé d'ouvrir le fichier et lorsque je fais CRTL+M j'ai un message d'erreur

" Les informations de lience de ce composant sont introuvables ..... "

Apres je ne sais pas si c'est possible mais si on doit passer par un évèvement on peut peut etre activer par un bouton placé en page 1 ? ( je ne sais pas je propose )

Cordialement
 

job75

XLDnaute Barbatruc
Re : [RESOLU] Modéliser une fleche d'apres un angle sur un cercle

Re,

Au niveau du ThisWorkbook il y a aussi l'évènement BeforePrint, mais je n'en voit vraiment pas l'intérêt.

Il faut bien voir que les flèches sont modifiées :

- soit quand on modifie le tableau en Page 1 (répercuté par l'évènement Activate)

- soit quand on modifie le tableau en Page 2 (évènement Change).

En dehors de ces 2 cas pourquoi déclencher une quelconque macro ???

A+
 

job75

XLDnaute Barbatruc
Re : [RESOLU] Modéliser une fleche d'apres un angle sur un cercle

Re,

J'ai essayé d'ouvrir le fichier et lorsque je fais CRTL+M j'ai un message d'erreur

" Les informations de lience de ce composant sont introuvables ..... "

Le fichier était vérolé, cela venait peut-être du fait que j'avais planté Excel en faisant des tests...

Je viens de le refaire au post #26.

A+
 

polobeg

XLDnaute Nouveau
Re : [RESOLU] Modéliser une fleche d'apres un angle sur un cercle

Re,

Oui aujourdhui la fonction CTRL+M fonctionne, mais est il possible de la mettre en page une et que celle ci mets à jour la page 2 ?

Le fait est que lorsque je rempli mon tableau en page 1, je n'ai pas à retourner sur toutes les autres pages pour mettre à jours les fléches.

Cordialement
 

Statistiques des forums

Discussions
312 472
Messages
2 088 714
Membres
103 932
dernier inscrit
clotilde26