dessin d'une canalisation

F

fudô

Guest
Bonjour tout le monde,

Je réalise une petite macro qui me trace automatiquement une suucession de traits représentant le schéma de principe d'une canalisation.
Je saisie dans la macro l'orientation de la canalisation (trait horizontal ou vertical), puis je renseigne dans un tableau les longeurs correspondant à chaque tronçon (trait), l'année d'installation (couleur du trait), etc.
A l'aide d'un bouton, je lance l'application et cela me trace des traits avec les longueurs et les couleurs choisies dans le tableau.

Le problème c'est pour faire un bouton qui me permettrait d'effacer les traits (pour remettre à zéro la feuille avec le tableau mais sans le dessin), en effet lors de leur création, les traits ont un numéro alléatoire. Par conséquent, je ne peux pas lui dire d'éffacer tel ou tel numéro de trait. Y a t'il une fonction qui efface l'action de la macro?

Par la suite, je voudrais attribuer un lien ou un menu déroulant à chaque trait créé, mais le problème demeure le même car le numéro de trait est attribué aléatoirement à chaque lancement. Donc il ne m'est pas possible d'associer une procédure à un trait particulier.

J'espère que je n'ai pas trop été confus dans mes explications.
Merci de l'éventuelle aide que vous pourrez m'apporter.
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Bonjour fûdo, jeanmarie, le forum

Le code suivant crée un trait en lui donnant une référence, et le renomme à la volée
maintenant tu ne peux plus le perdre, il est accessible par la référence ou, si tu as fermé ton fichier entre temps, par son nom que tu as toi même redéfini.

Cordialement, A+

Code:
Dim Trait_Ref(1 To 99), Compteur As Integer
For Compteur = 1 To 1
Set Trait_Ref(Compteur) = ActiveSheet.Shapes.AddLine(120.75, 116.25, 351.75, 119.25)
MsgBox Trait_Ref(Compteur).Name & ' créé'
Trait_Ref(Compteur).Name = 'Maligne' & Compteur
MsgBox Trait_Ref(Compteur).Name & ' nom modifié'
Next Compteur

Ps: j'ai mis une boucle sur compteur que tu peux augmenter pour voir la création et les renommages successifs

Message édité par: yeahou, à: 12/04/2005 20:27
 
F

fudô

Guest
les ennuis continus

Merci à tous de votre aide, je vais étudier ça avec attention.
Par contre, j'ai 2 autres petits problèmes.

Je n'arrive pas à attribuer un texte et une taille à un bouton. Pourtant sur un bouton existant,

activesheet.commandbutton1.caption= abcd
activesheet.commandbutton1.fontsize = 16

ça devrait marcher.

Et puis quand je calcul une variable x dans un sous programme, je n'arrive pas à retourner le résultat dans mon programme principal.
 
F

fudô

Guest
Re:les ennuis continus

Pour la texte et la taille dans le bouton, ça marche mais il faut mettre des '' au texte.

De plus ça marche si je fais 2 macros, mais avec une seule ça plante.
2 macros :

Sub Macro1()

ActiveSheet.OLEObjects.Add(ClassType:='Forms.CommandButton.1', Link:=False _
, DisplayAsIcon:=False, iconfilename:=essai, Left:=109.5, Top:=84.75, Width:=126, Height:= _
117.75).Select

End Sub
Sub taille()

ActiveSheet.CommandButton1.AutoSize = True
ActiveSheet.CommandButton1.Caption = 'poi'
ActiveSheet.CommandButton1.FontSize = 16

End Sub

mais par contre avec une macro :

Sub Macro1()

ActiveSheet.OLEObjects.Add(ClassType:='Forms.CommandButton.1', Link:=False _
, DisplayAsIcon:=False, iconfilename:=essai, Left:=109.5, Top:=84.75, Width:=126, Height:= _
117.75).Select

ActiveSheet.CommandButton1.AutoSize = True
ActiveSheet.CommandButton1.Caption = 'poi'
ActiveSheet.CommandButton1.FontSize = 16

End Sub

ça plante ... ça me ferme même excel avec l'envoie de la déclaration d'erreur par le net.
 

Discussions similaires

Réponses
5
Affichages
397

Statistiques des forums

Discussions
312 581
Messages
2 089 916
Membres
104 305
dernier inscrit
EDIT