Fonctions dans nouveau Classeur

Pticle94

XLDnaute Nouveau
Bonjour,

Dans mon fichier en cliquant sur un bouton j'ouvre un nouveau classeur avec lequel je veux travailler.
C'est à dire que je voudrais pouvoir créer dans ce nouveau classeur un bouton avec un lien vers un formulaire.

Comment faire?

Merci
 

Catrice

XLDnaute Barbatruc
Re : Fonctions dans nouveau Classeur

Bonsoir,

Dans mon fichier en cliquant sur un bouton j'ouvre un nouveau classeur avec lequel je veux travailler.
C'est à dire que je voudrais pouvoir créer dans ce nouveau classeur un bouton avec un lien vers un formulaire.

A prirori, derriere le bouton il y a du code ?
Il suffit de rajouter une ligne de code qui ajoute le bouton du type :
ActiveSheet.Buttons.Add(200, 90, 90, 30).OnAction = "Formulaire"
Où Formulaire un macro du type :

Sub Formulaire()
UserForm1.Show
End Sub

Ou bien creer une barre d'outils qui sera toujours diponible.
 

Pticle94

XLDnaute Nouveau
Re : Fonctions dans nouveau Classeur

En fait je voudrais placer un bouton en G1.
J'ai trouvé le code
Code:
ActiveSheet.Buttons.Add(ActiveCell.Left, ActiveCell.Top, ActiveCell.Width, ActiveCell.Height)
Mais il me place le bouton en A1.

Comment le mettre en G1 et que le bouton et donc la cellule ont une largeur selon la taille de l'intitulé?

Merci
 

Catrice

XLDnaute Barbatruc
Re : Fonctions dans nouveau Classeur

Re,

Voir exemple dans le fichier joint :
Sub Test()
ActiveSheet.Buttons.Add [G1].Left, [G1].Top, [G1].Width, [G1].Height
End Sub
 

Pièces jointes

  • Classeur1.xls
    22.5 KB · Affichages: 75
  • Classeur1.xls
    22.5 KB · Affichages: 81
  • Classeur1.xls
    22.5 KB · Affichages: 80

Pticle94

XLDnaute Nouveau
Re : Fonctions dans nouveau Classeur

Re
Maintenant quand je crée mon bouton avec mon texte je voudrais que le bouton s'adapte automatiquement à la taille de l'intitulé puis la cellule à la taille du bouton.
Merci
 

Pièces jointes

  • Score_Tarot.xls
    39 KB · Affichages: 55
  • Score_Tarot.xls
    39 KB · Affichages: 53
  • Score_Tarot.xls
    39 KB · Affichages: 55

Catrice

XLDnaute Barbatruc
Re : Fonctions dans nouveau Classeur

Bonjour,

ci-joint une solution.
Il a fallu un peu bidouiller car les largeurs de colonnes sont en caracteres et les largeurs d'objets en Pixels ...
 

Pièces jointes

  • Score_Tarot.xls
    39 KB · Affichages: 45
  • Score_Tarot.xls
    39 KB · Affichages: 44
  • Score_Tarot.xls
    39 KB · Affichages: 43

Catrice

XLDnaute Barbatruc
Re : Fonctions dans nouveau Classeur

Re,

Autant pour moi, ce n'était pas le bon fichier.
Ci joint le bon fichier et ci-dessous le code :

Sub Test()
MonTexte = "toto toto toto toto toto"
[G1] = MonTexte
Columns("G:G").EntireColumn.AutoFit
With ActiveSheet.Buttons.Add([G1].Left, [G1].Top, 100, 100)
.Characters.Text = MonTexte
.AutoSize = True
[G1].ColumnWidth = .Width / ([G1].Width / [G1].ColumnWidth)
[G1].RowHeight = .Height
End With
[G1].ClearContents
End Sub
 

Pièces jointes

  • Classeur1.xls
    28 KB · Affichages: 56
  • Classeur1.xls
    28 KB · Affichages: 58
  • Classeur1.xls
    28 KB · Affichages: 64

Pticle94

XLDnaute Nouveau
Re : Fonctions dans nouveau Classeur

AHHH Merci
En fait je cherchais la fonction AutoSize mais je ne l'avais pas trouvé.
Mon code n'est pas le même que Catrice:

Code:
[G1] = "Texte"
Columns(7).EntireColumn.AutoFit
With ActiveSheet.Buttons.Add([G1].Left, [G1].Top, [G1].Width, [G1].Height)
    .Characters.Text = "Texte"
    .AutoSize = True
Rows(1).RowHeight = .Height
End With

[G1].ClearContents
 

Catrice

XLDnaute Barbatruc
Re : Fonctions dans nouveau Classeur

Re,

J'ai testé ton code, ça ne fonctionne pas quand le texte est plus long ...
D'ou l'astuce que j'ai utilisé, qui consiste à faire un AutoFit sur la colonne en fonction du texte, faire un autofit sur le bouton puis ajuster la taille de la colonne en faisant un ratio entre la largeur en Pixel et la largeur en Caracteres.
 

Discussions similaires

Statistiques des forums

Discussions
312 545
Messages
2 089 488
Membres
104 183
dernier inscrit
bast.coud