dessin d'une canalisation

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

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.
 
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
 
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.
 
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.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
640
R
  • Résolu(e)
XL 2010 Boucle for
Réponses
8
Affichages
1 K
Retour