Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Sauvegarder en .XLA ou macro complémentaire

G

G'Claire

Guest
Salut a toutes et tous,


Je viens de finir une application (Grace a l'aide de vous tous, merci) et pour finaliser celle-ci j'aimerai pouvoir inserrer un bouton pour lancer cette application a l'ouverture de Excel (Comme pour Poste VL, de notre trés cher Vériland, un petit bonjours a toi si tu passe par là), il me semble que c'est une macro-Complémentaire.

Voici un peu le materiel de cette application.

4 Feuilles :

Tool_Intervenants
Tool_Dossiers
Tool_Entete
Tool_Clients

12 Modules :

ModuleAjout
ModuleCalculeNbDeFiche
ModuleChargement
ModuleCheminDeFichier
ModuleCodeTimer
ModuleGestionBoutonsMenu
ModuleImprimerEntète
ModuleLancer
ModuleSon
ModuleTest
ModuleOrdreAlphaAjoutCableur
ModuleOrdreAlphaAjoutCableurResul

et 14 UserForm :

Résultat
UserForm1
UserForm2
UserForm3
USF_AjoutCableur
USF_AjoutCableurResultat
USF_EnregistrementBaseDeDonnée
USF_EnteesSortiesDossiers
USF_FicheCréeeEtImpression
USF_FicheCréeeEtImpressionModif
USF_GestionCableur
USF_ImprimerLesBasesDeDonnees
Usf_ListesDesSorties
USF_GestionDesClients

et le ThisWorkbook

Es-ce possible et comment dois-je m'y prendre?

Je vous remercie encore, G'Claire
 
S

SylSyl

Guest
Salut G'Claire,

pour créer un bouton, mets ça dans this_workbook.

Private Sub Workbook_Open()

On Error GoTo fin
Set Bo = Application.CommandBars.Add(Name:="Coucou", Position:=msoBarLeft)
Bo.Visible = True

With Bo.Controls.Add(msoControlButton)

.Style = msoButtonIconAndCaption
.TooltipText = "lance la premiere procédure"
.Caption = "Run macro1"
.FaceId = 2950
.OnAction = ThisWorkbook.Name & "!macro1"
End With
Bo.Visible = True
Exit Sub
fin:
End Sub

pour créer une macro complémentaire (=.xla pour XL Addin)
dans les propriété de this_workbook: IsAddin=True

pour le lancer automatiquement à l'ouverture d'excel
place le classeur dans:
D:\Program Files\Microsoft Office\Office\XLStart

Voili, voilou;

A++, Sylsyl.
 
G

G'Claire

Guest
Sylsyl, le foru

Merci pour ta réponse, en faite j'y suis arrivé mais le problème c'est que cela n'a pas l'aire d'aimer l'activation de feuille car a l'Ouverture d'Excel cela beug a :

Sub calculnombrefiches()

'Si évolution d'entrée ne rien ajouter
Sheets("Tool_Dossiers").Activate
Sheets("Tool_Dossiers").Range("f1").Value = Range("A65500", Range("A7").End(xlDown)).Row - 7

If Sheets("Tool_Dossiers").Range("A8").Value = "" Then
Sheets("Tool_Dossiers").Range("f1").Value = 0
End If

UserForm1.Label3.Caption = " Il y a actuellement " & Sheets("Tool_Dossiers").Range("F1").Value & " fiche(s) de créée(s) dans cette base . "

End Sub


et j'ai surligné en jaune

Sheets("Tool_Dossiers").Activate

Es-ce normal docteur?

Meci, G'Claire
 
S

SylSyl

Guest
Re,

oui c'est normal pour 2 raisons possibles (peut etre plus !!)
La première est qu'un classeur .xla est un classeur sans vraiment l'être.
Je pense que les feuilles peuvent être utilisé qu'en "base de données cachées" et tu ne peux donc pas les activées ("activate").
Mes .xla n'utilisent pas leurs propres feuilles donc je n'ai jamais eu ton pb.
De toute facon, Sheets("Tool_Dossiers").Activate est inutile puisque tu remets Sheets("Tool_Dossiers").Range("f1").Value ensuite.

D'autres part, tu as plusieurs classeurs d'ouvert, à ta place je mettrais "ThisWorkbook.Sheets("Tool_Dossiers").Range("f1").Value "

Au final, ça donnerait:

Sub calculnombrefiches()

'Si évolution d'entrée ne rien ajouter
ThisWorkbook.Sheets("Tool_Dossiers").Range("f1").Value = Range("A65500", Range("A7").End(xlDown)).Row - 7

If ThisWorkbook.sheets("Tool_Dossiers").Range("A8").Value = "" Then
ThisWorkbook.Sheets("Tool_Dossiers").Range("f1").Value = 0
End If

UserForm1.Label3.Caption = " Il y a actuellement " & Sheets("Tool_Dossiers").Range("F1").Value & " fiche(s) de créée(s) dans cette base . "

End Sub

ou alors remplacer "Activate" par "Select", je sais pas...

Bon courage, A++ ,Sylsyl.
 
G

G'Claire

Guest
Sylsyl, le forum

Rien a faire, cela me met une erreur : L'indice n'appartient pas a la sélection dans ce code


Sub calculnombrefiches()

'Si évolution d'entrée ne rien ajouter
ThisWorkbook.Sheets("Tool_Dossiers").Range("f1").Value = Range("A65500", Range("A7").End(xlDown)).Row - 7

If ThisWorkbook.sheets("Tool_Dossiers").Range("A8").Value = "" Then
ThisWorkbook.Sheets("Tool_Dossiers").Range("f1").Value = 0
End If

UserForm1.Label3.Caption = " Il y a actuellement " & Sheets("Tool_Dossiers").Range("F1").Value & " fiche(s) de créée(s) dans cette base . "

End Sub

Au niveau de :

UserForm1.Label3.Caption = " Il y a actuellement " & Sheets("Tool_Dossiers").Range("F1").Value & " fiche(s) de créée(s) dans cette base . "

Merci de votre aide, G'Claire
 

Discussions similaires

G
Réponses
9
Affichages
2 K
G'Claire
G
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…