Sauvegarder en .XLA ou macro complémentaire

  • Initiateur de la discussion Initiateur de la discussion G'Claire
  • 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 !

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
 
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.
 
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
 
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.
 
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
 
- 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

G
Réponses
9
Affichages
2 K
G'Claire
G
Retour