begin process at 2012 02 13 11:33:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Langages dérivés

 > 

VBA

 > 

arc de cercle dans une feuille excel


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

arc de cercle dans une feuille excel

vendredi 1 juin 2007 à 15:07:04 | arc de cercle dans une feuille excel

akasha21

bonjour,

Je cherche à tracer un arc de cercle sur une feuille excel. je connais le centre et les points des départ et d'arrivée de l'arc.
j'ai essayé l'API arc mais le problème c'est que je n'ai pas de handle sur ma feuille
j'ai aussi essayé la shape Arc mais elle me trace un quart de cercle et je ne sais pas comment la modifier pour obtenir l'arc que je veux.
J'ai cherché sur le site, mais je n'ai pas trouvé. si je rejoins un autre message, dites moi lequel !!

Merci d'avance!!
vendredi 1 juin 2007 à 15:17:57 | Re : arc de cercle dans une feuille excel

jmfmarques

Membre Club

Bonjour,
Tu ne peux tout simplement pas faire celà  de façon simple (raison : absence de hdc de ta Form sous VBA).

vendredi 1 juin 2007 à 15:24:23 | Re : arc de cercle dans une feuille excel

akasha21

lol ok
il n'y a bien que les tuteurs de stages pour donner des trucs tordus à faire!!

vendredi 1 juin 2007 à 15:27:30 | Re : arc de cercle dans une feuille excel

Charles Racaud

Membre Club

Salut,

Fait, quelques recherches, tu obtiendras une solution pour obtenir l'hwnd de ton formulaire.
D'autre recherche te permettront de déterminer l'hdc depuis l'hwnd.

__________
 Kenji

vendredi 1 juin 2007 à 15:57:24 | Re : arc de cercle dans une feuille excel

jmfmarques

Membre Club

Je n'ai pas VBA et ne peux donc vérifier si ceci marche ... pauvre de moi...

Mais toi oui :

(je cherche la fenêtre en 1er plan et, quand je l'ai, j'en extrais le hdc (je crois...) en cliquant sur command1

Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long

Private Sub Command1_Click()
  Do While monhdc = 0
    monhdc = GetForegroundWindow()
    monhdc = GetDC(monhdc)
  Loop
  MsgBox monhdc
End Sub

Ce n'est là qu'une tentative modeste d'un aveugle absolu (puisque je ne peux essayer !)
Essaye et dis-moi (çà m'intéresse quand même de savoir si cela va sous VBA)...

vendredi 1 juin 2007 à 19:27:43 | Re : arc de cercle dans une feuille excel

Julien237

Mouais, j'avais dja essayé de récupérer le handle d'un userform vba afin de dessiner dessus pour faire des petits jeux où du directx sur les pc de mon ancienne école secondaire et je n'étais arrivé à aucun résultat, il y avait sans cesse des plantage...
Si tu arrive à quelque chose ca m'intéresse !


Julien.
samedi 2 juin 2007 à 16:45:50 | Re : arc de cercle dans une feuille excel

lermite222

Membre Club

bonjour à tous,
quelques essais et Youpiii, 

Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private MonHdc As Long
Private Declare Function Arc Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long, ByVal X4 As Long, ByVal Y4 As Long) As Long
Private Declare Function ArcTo Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long, ByVal X4 As Long, ByVal Y4 As Long) As Long

Je l'ai mis dans l'évènement activer par facilité, mais comme cela la courbe se redessine à chaque fois. Voir pour la mettre dans ThisWorkbook


Private Sub Worksheet_Activate()
Dim B As Long
MonHdc = 0
  Do While MonHdc = 0
    MonHdc = GetForegroundWindow()
    B = MonHdc
    MonHdc = GetDC(MonHdc)
  Loop
  Range("A1").Value = B
  Range("B1").Value = MonHdc
 
    B = Arc(MonHdc, 120, 500, 320, 400, 320, 400, 780, 500)
End Sub
Evidemment les points sont à adaptés, mais l'arc se dessine bien sur la feuille

Salut jmfmarques , ton idée est la bonne.
A+
louis

samedi 2 juin 2007 à 20:01:32 | Re : arc de cercle dans une feuille excel

Julien237

Mmh j'avais pas du chercher très longtemps dans ma jeunesse ainsi ^^
Merci et pense à valider les réponses de jmfmarques et kenji !


Julien.
samedi 2 juin 2007 à 21:32:47 | Re : arc de cercle dans une feuille excel

lermite222

Membre Club

Mouais........ mais ca ne marche qu'à moitié.
le dessin suis la feuille dans les mouvements de déplacement, mais si la feuille est déplacée plus loin que le dessin et qu'elle revient à l'emplacement d'origine le dessin est disparu, idem si changement de feuille.
Peut donc servir dans une feuille figée (scrool enlevés) et la fonction mise dans activeSheet 
a+
louis

PS: reste encore à trouver les API pour la couleur et l'épaisseur.

samedi 2 juin 2007 à 22:08:01 | Re : arc de cercle dans une feuille excel

jmfmarques

Membre Club

Etape par étape, Lermitte222, si tu veux bien...
J'attends que réagisse akasha21...

J'espère que tu te rends compte que, dans cette affaire (puisque je ne possède pas VBA), je vais devoir travailler totalement "en aveugle" ?

Tu as un avantage sur moi : tu as VBA ...

Tu peux alors peut-être, te lancer le défi de tenter d'y parvenir, non (en profitant de ton avantage) ? Ca te dit ?
Su oui : welcome to the club ...


1 2 3 4

Cette discussion est classée dans : excel, feuille, essayé, cercle, arc


Répondre à ce message

Sujets en rapport avec ce message

Tracer un arc de cercle sous excel??? [ par fredieuric ] Bonjour,J'essaye (en vain!!!) de tracer un arc de cercle sous Excel...J'ai bien trouvé un moyen avec:With Shapes.AddShape(msoShapeArc, 10, 10,20 ,30 ) Creation et Export EXCEL [ par ddove53 ] Bonjour, j'essaie de créér une feuille excel avec le code suivant: [code=aspx] Dim objInfosListe As New BObject.oListeParam 'recupération des infos d Masquer des feuilles excel [ par danyocean ] Bonjour, J'ai un document Excel avec 3 feuilles dont l'une d'entre elle ne doit pas être visible par les autres utilisateurs. Il faudrait donc qu'a [déplacé VB6 -> VBA] Selection de feuille excel avec une macro [ par charlotte26mai ] Bonjour, je debute en VB , mon probleme est le suivant : je voudrais selectionner une feuille de classeur excel a partir d'une cellule dans laquell [EXCEL 2003] Bouton qui copie une ligne d'une feuille à une autre [ par freeman034 ] Bonjour à toutes et à tous, Je suis en train de créer un catalogue de produits (d'ameublement) sous EXCEL 2003. J'ai ajouté une seconde feuille dans Exploiter deux fichier Excel grace à VBA [ par DjVen ] Je suis désolé de sollicité encore une fois votre aide, je suis vraiment pas doué. Je suis sous VBA/Excel et j'ai donc deux fichier EXCEL d'ouvert. Le [Déplacé .Net --> VBA] excel [ par babinot ] bonjour, je suis a la recherche d'un moyen par le biais d excel de comparer des donnees de plusieurs feuilles a une. en clair: j'ai une feuille de b Forcer la saisie en majuscules sur feuille Excel 2007 [ par idaho2duncan ] Bonjour, Je souhaiterais que certaines colonnes de ma feuille excel (NOM, VILLE, PAYS, etc.) se mettent automatiquement en majuscule, quelque soit l ouvrir une feuille excel sous vb6 [ par Ackby ] Bonjour, je voudrais afficher une feuille donnée d'uu fichier excel, je fais ceci : Private Sub Command1_Click() Dim fichier As Excel.Application


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,607 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales