Aide pour un module en Vba Excel

Hpotter

XLDnaute Junior
Bonjour à tous,

J'ai ce code que je répete 52 fois dans mon application car je l'insère dans 52 feuilles de calcul.

Comment pourrais-je l'écrire afin de le mettre dans un module pour qu'à chaque fois que j'ouvre une feuille nommée "S1 à S52" celui-ci s'applique.

Code:
Private Sub Worksheet_Activate()
    ActiveWindow.Zoom = 75
End Sub

Merci par avance pour votre aide
 

Hpotter

XLDnaute Junior
Re : Aide pour un module en Vba Excel

Bonjour Jean-Marcel,

Merci pour ton aide, mais j'ai peur que le code que tu m'as donné concerne toutes les feuilles, hors, j'aimerai que cela ne concerne que les feuilles nommées "S1, S2,etc jusqu'à S52".

Merci toutefois d'avoir apporté ton attention sur mon problème
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Aide pour un module en Vba Excel

Bonjour le fil, bonjour le forum,

peut-être comme ça :
Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim num As Integer 'déclare la variable num (NUMéro)
 
If Left(Sh.Name, 1) = "S" Then 'condition : si le nom de l'onglet commence pas "S"
On Error Resume Next 'gestion des erreurs (si un onglet a un nom ne comportant pas de numéro cela provoque une erreur)
num = CInt(Mid(Sh.Name, 2)) 'définit le numéro
If Err <> 0 Then Exit Sub 'si il y a erreur, sort de la procédure
On Error GoTo 0 'fin de la gestion des erreurs
Select Case num 'agit en fonction du numéro
    Case 1 To 52 'de 1 à 52
        ActiveWindow.Zoom = 75 'zoom 75%
End Select 'fin de l'actikon en fonction du numéro
End If 'fin de la condition
End Sub
 
Dernière édition:

soenda

XLDnaute Accro
Re : Aide pour un module en Vba Excel

Bonjour le fil, Hpotter, Jean-Marcel, Pierrot93, Robert

Une autre version (pour la route):
Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Dim ch As String
    Dim I As Integer
 
    ch = ActiveSheet.Name
 
    If Left(ch, 1) = "S" And IsNumeric(Right(ch, Len(ch) - 1)) Then
        I = CInt(Right(ch, Len(ch) - 1))
        If I > 0 And I <= 52 Then ActiveWindow.Zoom = 75
    End If
 
End Sub
A plus :)
 
Dernière édition:

Hpotter

XLDnaute Junior
Re : Aide pour un module en Vba Excel

Bonjour le fil, soenda, Jean-Marcel, Pierrot93, Robert

Merci beaucoup à tous, je suis gâté en ce Dimanche.
J'ai testé le code de soenda et comme il fonctionne plutôt bien alors je le garde.

Merci à tous ceux qui ont participé à cette discussion.

Bonne fin de Dimanche
Amicalement
 

Discussions similaires

Réponses
2
Affichages
333
Réponses
28
Affichages
1 K

Statistiques des forums

Discussions
312 584
Messages
2 089 965
Membres
104 319
dernier inscrit
J-LZ