Informatique

1

Astuces et code VBA pour Exce
Rubriques
Classeurs (Workbooks) Contrôles et Formulaires Feuilles (Worksheets) Fichiers (XL ou autres) Fonctions Formules Graphiques Menus Sélection OLE Automation Excel Access (DAO) Commandes diverses Programmes divers … Téléchargement sur site http://ericrenaud.free.fr/

Les classeurs Excel (Workbooks)
Page mise à jour le : 28/03/2001

Vous trouverezdans cette rubrique des exemples de programmes se rapportant aux classeurs. Ajouter des feuilles dans un classeur et les renommer. Enregistrer une copie du classeur (sans modifier le classeur ouvert). Fermer tous les classeurs ouverts sauf le classeur actif. Renommer les onglets d’un classeur (Ex. Mois1, Mois2, Mois3, etc…). Trier les onglets d’un classeur.
Ajouter des feuilles dans unclasseur et les renommer
Sub AjouterRenommerFeuilles() Dim cpt As Integer cpt = 1 Do While cpt < 4 ' Ajoute 3 feuilles ' Ajout d'une feuille Application.Sheets.Add After:=Sheets.Item(Sheets.Count), Type:=xlWorksheet ' Renomme la feuille Application.ActiveSheet.Name = "Semaine " & CStr(cpt) cpt = cpt + 1 Loop End Sub Enregistrer une copie du classeur
Sub SaveCopyAs() ActiveWorkbook.SaveCopyAs »C:excelMonDouble.xls » End Sub

Fermer tous les classeurs ouverts (sauf le classeur actif)
Sub FermeClasseurs() For Each Wk In Workbooks If Wk.Name ThisWorkbook.Name Then Wk.Close savechanges:=True End If Next Wk End Sub

Renommer les onglets d’un classeur
Sub RenommeOnglets() ‘ Renomme les onglets CL1, CL2, CL3, etc … Dim I As Integer Application.ScreenUpdating = False For I = 1 To 3Worksheets(I).Name = « CL » & I Next I End Sub

Trier les onglets d’un classeur

2
Sub TriNomsOnglets() Dim I As Integer, J As Integer For I = 1 To Sheets.Count For J = 1 To I – 1 If UCase(Sheets(I).Name) < UCase(Sheets(J).Name) Then Sheets(I).Move Before:=Sheets(J) Exit For End If Next J Next I End Sub Contrôles divers en VBA
Page mise à jour le : 14/05/2002

Vous trouverez dans cette rubriquedes exemples sur les différents contrôles comme TextBox, ComboBox, ListBox, Bouton d’option, Case à cocher, calendrier, indicateur de progression, etc… Ces contrôles s’utilisent sur un Userform (ou formulaire)

Quelques notions de base …
Comment créer un Userform ? Depuis une feuille Excel, tapez ALT+F11 ou par le menu Outils, Macro, Visual Basic Editor. Vous affichez l’environnement VisualBasic Editor. Insérer un Userform à l’aide du menu Insertion, Userform. La boîte à outils doit s’afficher, sinon utilisez le menu Affichage, Boîte à outils. Pour placer un contrôle sur un Userform : 1 – Sélectionner le contrôle désiré dans la fenêtre Boîte à outils 2 – Cliquer sur le contrôle choisi avec le bouton gauche de la souris et sans relacher celui-ci, déplacer le contrôle vers leUserform puis relacher le bouton de la souris. Voici les principaux contrôles de la boîte à outils (ci-dessous).

Les boîtes de dialogue
Boite de dialogue avec bouton d’option.
Le Userform (DlgChoix)

Le code

Code lançant l’ouverture de la boîte de dialogue

3
Sub AfficheBoutonsOption() DlgChoix.Show End Sub

Code d’ouverture du formulaire
Private Sub UserForm_Activate()DlgChoix.ChoixPaire.Value = True End Sub Nota : A l’ouverture du formulaire la case France est cochée par défaut.

Code des boutons 1 / Bouton OK
Private Sub OK_Click() DlgChoix.Hide If DlgChoix.ChoixPaire Then Msg = « Vous avez choisi l’activité France. » Style = vbOKOnly + vbInformation Title = « Activité Commerciale – © E. RENAUD – Novembre 1999 » Response = MsgBox(Msg, Style, Title) Else Msg = « Vous avez choisil’activité Export. » Style = vbOKOnly + vbInformation Title = « Activité Commerciale – © E. RENAUD – Novembre 1999 » Response = MsgBox(Msg, Style, Title) End If End Sub

2 / Bouton Annuler
Private Sub Annuler_Click() DlgChoix.Hide End Sub

Boite de dialogue avec case à cocher.
Le Userform (CasesACocher)

Le code

Code lançant l’ouverture de la boîte de dialogue
Sub AfficheCaseACocher()…