OVH Cloud OVH Cloud

Macro

3 réponses
Avatar
Vince
Bonjour,
On me demande de construire entièrement une macro dont le but est le
suivant:
préparation d'un classeur (workbook) à partir de paramètres entrés par
l'utilisateur.

l'utilisateur pourra saisir :

a.. le nombre de feuilles (sheets) désirées dans ce classeur (workbook)
b.. le nom à affecter à chacune de ces feuilles (sheets)
sachant que le nombre de feuilles devra etre compris entre 2 et 6

ensuite cette macro proposera à l'utilisateur 3 types différents de mises en
forme du workbook (largeur de colonne, hauteur de ligne, police, couleur
d'onglet )

pour terminer, cette macro demandera à l'utilisateur le nom de classeur afin
de le sauvegarder sous ce nom.

Je ne demande pas la solution mais une piste me permettant de voir comment
on peut faire cela !!!

Merci d'avance

Vincent

3 réponses

Avatar
bourby
Vince wrote:
Bonjour,
On me demande de construire entièrement une macro dont le but est le
suivant:
préparation d'un classeur (workbook) à partir de paramètres entrés par
l'utilisateur.

l'utilisateur pourra saisir :

a.. le nombre de feuilles (sheets) désirées dans ce classeur (workbook)
b.. le nom à affecter à chacune de ces feuilles (sheets)
sachant que le nombre de feuilles devra etre compris entre 2 et 6

ensuite cette macro proposera à l'utilisateur 3 types différents de mises en
forme du workbook (largeur de colonne, hauteur de ligne, police, couleur
d'onglet )

pour terminer, cette macro demandera à l'utilisateur le nom de classeur afin
de le sauvegarder sous ce nom.

Je ne demande pas la solution mais une piste me permettant de voir comment
on peut faire cela !!!

Merci d'avance

Vincent




bonjour,


tu peux commencer par utiliser l'enregistreur de macros; ensuite, tu
regardes le code, et tu emploies l'aide (F1) pour obtenir des
explications sur les propriétés qui t'intéressent.

Cordialement

Bourby

Avatar
Vince
Ok j'arrive à ceci
mais je ne vois pas comment on peut demander le nombre de feuilles à
l'utilisateur ?
Ainsi que le nom de chaque feuille ?

Vincent


Workbooks.Add
Sheets("Sheet1").Select
Sheets.Add
ActiveWorkbook.SaveAs Filename:= _
"C:Documents and SettingsPropriétaireMes documentstest.xls",
FileFormat:= _
xlNormal, Password:="", WriteResPassword:="",
ReadOnlyRecommended:úlse _
, CreateBackup:úlse


"bourby" a écrit dans le message de news:
eCfKFEr%
Vince wrote:
Bonjour,
On me demande de construire entièrement une macro dont le but est le
suivant:
préparation d'un classeur (workbook) à partir de paramètres entrés par
l'utilisateur.

l'utilisateur pourra saisir :

a.. le nombre de feuilles (sheets) désirées dans ce classeur (workbook)
b.. le nom à affecter à chacune de ces feuilles (sheets)
sachant que le nombre de feuilles devra etre compris entre 2 et 6

ensuite cette macro proposera à l'utilisateur 3 types différents de mises
en forme du workbook (largeur de colonne, hauteur de ligne, police,
couleur d'onglet )

pour terminer, cette macro demandera à l'utilisateur le nom de classeur
afin de le sauvegarder sous ce nom.

Je ne demande pas la solution mais une piste me permettant de voir
comment on peut faire cela !!!

Merci d'avance

Vincent




bonjour,


tu peux commencer par utiliser l'enregistreur de macros; ensuite, tu
regardes le code, et tu emploies l'aide (F1) pour obtenir des explications
sur les propriétés qui t'intéressent.

Cordialement

Bourby



Avatar
michdenis
Bonjour Vince,

Juste un petit exemple, question de te donner une idée.

Tu peux créer un petit formulaire (userform) qui contiendra
tous les informations que tu auras besoin pour la création
du classeur dont "rêve" l'usager !

'-------------------------------
Sub test()

Dim NbFeuille As Integer
Nb As Variant

Nb = Application.InputBox("nombre de feuille du prochain classeur?")
'Si il annule ...
If TypeName(Nb) = "Boolean" Then Exit Sub

'Établir la liste des noms des onglets que l'usager veut avoir.

'tu crées une petite routine pour t'assurer que chacun des
'noms n'a pas plus de 31 caractères, et, que chaque nom
'ne contient pas les caractères : "" "/" ">" "<" ":" "*" "?"

With Application
'Place dans une variable le nombre de feuilles
'par défaut de l'application excel pour pouvoir
'remettre à la fin, la même caractéristique.
NbFeuille = .SheetsInNewWorkbook
'Affectation du nouveau nombre de feuilles par défaut
.SheetsInNewWorkbook = Nb
End With

'Tu crées le classeur
Workbooks.Add
'Tu baptises les onglets des feuilles
For Each sh In Worksheets
a = a + 1
sh.Name = MaListe(a)
Next

'Et tu remets le nombre de feuille par défaut à
'à sa valeur initiale
With Application
.SheetsInNewWorkbook = NbFeuille
End With

End Sub
'-------------------------------


Salutations!



"Vince" a écrit dans le message de news: 43960521$0$21262$
Bonjour,
On me demande de construire entièrement une macro dont le but est le
suivant:
préparation d'un classeur (workbook) à partir de paramètres entrés par
l'utilisateur.

l'utilisateur pourra saisir :

a.. le nombre de feuilles (sheets) désirées dans ce classeur (workbook)
b.. le nom à affecter à chacune de ces feuilles (sheets)
sachant que le nombre de feuilles devra etre compris entre 2 et 6

ensuite cette macro proposera à l'utilisateur 3 types différents de mises en
forme du workbook (largeur de colonne, hauteur de ligne, police, couleur
d'onglet )

pour terminer, cette macro demandera à l'utilisateur le nom de classeur afin
de le sauvegarder sous ce nom.

Je ne demande pas la solution mais une piste me permettant de voir comment
on peut faire cela !!!

Merci d'avance

Vincent