Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2951 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Positionner bouton de commande ( par vba) sur une feuille

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Positionner bouton de commande ( par vba) sur une feuille

n°1583151
Moyan
Posté le 06-07-2007 à 11:49:13  profilanswer
 

Bonjour,
J'ai créé une macro me permettant de copier une feuille existante sur une nouvelle feuille.
D'autre part, mon classeur dispose d'une feuille nommée Menu. Je voudrais qu'à chaque
fois que je crée une nouvelle feuille, un bouton de commande apparaisse dans la feuille Menu.
Le problème c'est que les boutons se superposent. Comment faire pourqu'ils apparaissent
les uns à la suite des autres sur ma feuille Menu?
 
Voilà mon code pour le moment:
Sub NouveauPrévisionnel()
Dim Nom As String
Dim Obj As New OLEObject
 
Nom = InputBox("Quel nom souhaitez vous donner à ce nouveau prévisionnel?" )
 
Sheets("Bilan fonctionnel vierge" ).Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Nom
Sheets(Sheets.Count).Activate
 
Sheets("Menu" ).Activate
Sheets("Menu" ).OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _
, DisplayAsIcon:=False, Left:=Range("c20" ).Left, Top:=Range("c20" ).Top, Width:=57.75, Height _
:=27.75).Select
Dim c As Shape
Dim b As CommandButton
Dim o As OLEObject
Set c = Sheets("Menu" ).Shapes("CommandButton1" )
c.OLEFormat.Object.Object.Caption = Nom
 
End Sub
 
Merci de votre aide !! :pt1cable:  

mood
Publicité
Posté le 06-07-2007 à 11:49:13  profilanswer
 

n°1583239
jpcheck
Pioupiou
Posté le 06-07-2007 à 15:31:31  profilanswer
 

fait un incrément sur ton top a chaque bouton créé :)

n°1583826
Moyan
Posté le 09-07-2007 à 08:12:48  profilanswer
 

BOnjour,
 
merci de cette réponse mais pourrais-tu être un peu plus précis stp??
 
Je suis pas un expert en programmation...
 
Merci d'avance
 
 
Bonne journée

n°1583968
tegu
Posté le 09-07-2007 à 13:14:10  profilanswer
 

Ton objet CommandButton a une propriété .Top qui définit la hauteur à laquelle est posé ton bouton.
Il suffit de lui donner une valeur plus forte pour abaisser le bouton à l'écran.

n°1584050
Moyan
Posté le 09-07-2007 à 14:31:58  profilanswer
 

D'accord, je vois ce que tu veux dire
 
Mais comment améliorer mon code pour que chaque bouton créé ne vienne pas se positionner sur le précédent?

n°1584254
tegu
Posté le 09-07-2007 à 21:30:07  profilanswer
 

Je vois que dans ta ligne « Sheets("Menu" ).OLEObjects.Add(... », tu utilises cette syntaxe « Top:=Range("c20" ).Top »
Il suffirait de mettre une valeur plus grande pour les prochains boutons :  
Range("c20" ).Top + 20
ou
Range("c20" ).Top + i (avec i qui varie éventuellement)

n°1584594
Moyan
Posté le 10-07-2007 à 14:20:22  profilanswer
 

merci de ton aide Tegu. J'ai réussi à m'en sortir...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Positionner bouton de commande ( par vba) sur une feuille

 

Sujets relatifs
[EXCEL] Insérer contenu d'une feuille dans un autre fichiercommande DOS Mode lpt1=
[PHP] comment faire un éditeur de feuille de styleRech commande pr balayer plusieurs clés de registe en KISTART
Besoins de l'avis de programmeurs pour un outils gestion de commandeProblème de copie via macro d'une feuille vers un classeur différent
imprimer un tableau sans aucune marge au niveau de la feuillecommande par USB
commande SCPParcourir une colonne dans une autre feuille
Plus de sujets relatifs à : Positionner bouton de commande ( par vba) sur une feuille


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR