IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Aide pour simplifier un code Vba [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé Avatar de Dav1961
    Homme Profil pro
    Futur retraité
    Inscrit en
    Septembre 2022
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Futur retraité

    Informations forums :
    Inscription : Septembre 2022
    Messages : 132
    Par défaut Aide pour simplifier un code Vba
    Bonsoir à tous,

    Je viens chercher de l'aide afin de simplifier un code qui prend beaucoup de place en écriture.
    Ce code entre dans la composition d'un calendrier et représente les jours. Il y en a 42 volontairement.
    Pouvez-vous y jeter un œil s'il vous plaît ?
    Je vous en remercie par avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
     
    'Les jours sont repérés de J1 à J42 - La valeur des propriétés .tag sont de 1 à 42
    Private Sub J1_Click()
    ChJour Val(J1.Tag)
    End Sub
    Private Sub J2_Click()
    ChJour Val(J2.Tag)
    End Sub
    Private Sub J3_Click()
    ChJour Val(J3.Tag)
    End Sub
    Private Sub J4_Click()
    ChJour Val(J4.Tag)
    End Sub
    Private Sub J5_Click()
    ChJour Val(J5.Tag)
    End Sub
    Private Sub J6_Click()
    ChJour Val(J6.Tag)
    End Sub
    Private Sub J7_Click()
    ChJour Val(J7.Tag)
    End Sub
    Private Sub J8_Click()
    ChJour Val(J8.Tag)
    End Sub
    Private Sub J9_Click()
    ChJour Val(J9.Tag)
    End Sub
    Private Sub J10_Click()
    ChJour Val(J10.Tag)
    End Sub
    Private Sub J11_Click()
    ChJour Val(J11.Tag)
    End Sub
    Private Sub J12_Click()
    ChJour Val(J12.Tag)
    End Sub
    Private Sub J13_Click()
    ChJour Val(J13.Tag)
    End Sub
    Private Sub J14_Click()
    ChJour Val(J14.Tag)
    End Sub
    Private Sub J15_Click()
    ChJour Val(J15.Tag)
    End Sub
    Private Sub J16_Click()
    ChJour Val(J16.Tag)
    End Sub
    Private Sub J17_Click()
    ChJour Val(J17.Tag)
    End Sub
    Private Sub J18_Click()
    ChJour Val(J18.Tag)
    End Sub
    Private Sub J19_Click()
    ChJour Val(J19.Tag)
    End Sub
    Private Sub J20_Click()
    ChJour Val(J20.Tag)
    End Sub
    Private Sub J21_Click()
    ChJour Val(J21.Tag)
    End Sub
    Private Sub J22_Click()
    ChJour Val(J22.Tag)
    End Sub
    Private Sub J23_Click()
    ChJour Val(J23.Tag)
    End Sub
    Private Sub J24_Click()
    ChJour Val(J24.Tag)
    End Sub
    Private Sub J25_Click()
    ChJour Val(J25.Tag)
    End Sub
    Private Sub J26_Click()
    ChJour Val(J26.Tag)
    End Sub
    Private Sub J27_Click()
    ChJour Val(J27.Tag)
    End Sub
    Private Sub J28_Click()
    ChJour Val(J28.Tag)
    End Sub
    Private Sub J29_Click()
    ChJour Val(J29.Tag)
    End Sub
    Private Sub J30_Click()
    ChJour Val(J30.Tag)
    End Sub
    Private Sub J31_Click()
    ChJour Val(J31.Tag)
    End Sub
    Private Sub J32_Click()
    ChJour Val(J32.Tag)
    End Sub
    Private Sub J33_Click()
    ChJour Val(J33.Tag)
    End Sub
    Private Sub J34_Click()
    ChJour Val(J34.Tag)
    End Sub
    Private Sub J35_Click()
    ChJour Val(J35.Tag)
    End Sub
    Private Sub J36_Click()
    ChJour Val(J36.Tag)
    End Sub
    Private Sub J37_Click()
    ChJour Val(J37.Tag)
    End Sub
    Private Sub J38_Click()
    ChJour Val(J38.Tag)
    End Sub
    Private Sub J39_Click()
    ChJour Val(J39.Tag)
    End Sub
    Private Sub J40_Click()
    ChJour Val(J40.Tag)
    End Sub
    Private Sub J41_Click()
    ChJour Val(J41.Tag)
    End Sub
    Private Sub J42_Click()
    ChJour Val(J42.Tag)
    End Sub

  2. #2
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonsoir Dav1961
    Je viens chercher de l'aide afin de simplifier un code qui prend beaucoup de place en écriture.
    Je n'ai vraiment aucune idée de ce que sont tes objets Jx
    mais si le tag représente la valeur du x je ne vois guère l'intérêt des procédures.

    D'autre part lorsque l'on a autant d'objets il suffit d'utiliser un module de classe qui permet de tous les traiter.

    Pour donner une réponse précise il faudrait quelques précisions supplémentaires.

  3. #3
    Membre confirmé Avatar de Dav1961
    Homme Profil pro
    Futur retraité
    Inscrit en
    Septembre 2022
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Futur retraité

    Informations forums :
    Inscription : Septembre 2022
    Messages : 132
    Par défaut
    Bonsoir anasecu,

    Les Jx sont des labels.
    Voici le calendrier en question cela te donnera un aperçu.
    C'est un modèle que j'ai depuis très longtemps et que j'avais récupéré dans un précédent projet. (au moins 5 ans)
    Je m'excuse auprès de son créateur dont je ne connais plus le Nom.

    Calendrier.xlsm

  4. #4
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonjour Dav1961,

    j'ai regardé ton calendrier mais il n'est pas finalisé et présente des bugs.
    Aussi je ne vois pas trop l'intérêt d'investir du temps sur ces procédures assez curieuses avec 42 fonctions identiques au lieu d'une classe.
    Si tu veux un calendrier fonctionnel de saisi de dates, j'en ai un qui fonctionne sur de nombreux classeurs.

    Bon dimanche.

  5. #5
    Membre confirmé Avatar de Dav1961
    Homme Profil pro
    Futur retraité
    Inscrit en
    Septembre 2022
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Futur retraité

    Informations forums :
    Inscription : Septembre 2022
    Messages : 132
    Par défaut
    Bonjour anasecu,

    Merci pour ta réponse. Je comprends tout à fait pas de soucis.
    J'ai refait le calendrier mais pas le code qui date comme je l'ai dit.
    Je souhaitais faire ça pour ouvrir une UF en cliquant sur une date du calendrier. La date cliquée étant mise par défaut dans un Label (ça je devrais pouvoir m'en sortir).
    Il me manque juste le calendrier.
    Merci encore et bon dimanche

  6. #6
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonsoir Dav1961,

    Bon finalement je t'ai remplacé tes procédures par un module de classe incrémenté par l'initialisation du calendrier.

    Cela simplifie le code comme tu le souhaitais.

    Bonne soirée
    Fichiers attachés Fichiers attachés

  7. #7
    Membre confirmé Avatar de Dav1961
    Homme Profil pro
    Futur retraité
    Inscrit en
    Septembre 2022
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Futur retraité

    Informations forums :
    Inscription : Septembre 2022
    Messages : 132
    Par défaut
    Bonsoir anasecu,

    Je te remercie beaucoup pour ce travail. Tu as vraiment éclairci le code.
    Je vais pouvoir m'en servir dans mon projet.
    Encore mille merci pour ton investissement
    Bonne soirée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Aide pour simplifier un code et comprendre le mécanisme
    Par nicdodo dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/04/2015, 15h50
  2. Aide pour complément de code VBA Excel
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 17/09/2013, 07h53
  3. [XL-MAC 2011] L'aide pour rajouter le code VBA
    Par Gogia dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/08/2011, 14h07
  4. [XL-2003] Aide pour complèter un code Vba
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 29/09/2010, 15h34
  5. Aide pour simplifier un code VBA Excel
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 24/01/2008, 16h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo