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 :

Comment utiliser un module [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut Comment utiliser un module
    Bonjour à tous,

    J'utilise ce code pour formater automatiquement des cellules (merci PatrickToulon). Ce code est copié dans 9 feuilles.
    Est-ce qu'il serait pratique de le mettre dans un module ? cela pour atténuer le nombre de lignes d'écriture dans chacune des feuilles.

    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
     
    Private Sub Worksheet_Change(ByVal Target As Range)
     
     
        Dim chaine$
            If Target.Column = 1 And Target.Count = 1 Then
            chaine = Replace(Target.Value, " ", "") 'On cherche à replacer automatiquement la chaîne de caractères
            If Len(chaine) Mod 2 <> 0 And chaine <> "" Then 'Si la chaîne est impaire et pas vide
                Target.Value = Trim(Format(chaine, Application.Rept("@@ ", 30) & "@@@")) 'Application du formatage
            Else
                MsgBox "Référence inexacte - Veuillez vérifier": Application.Goto Target: Exit Sub
                End If
            End If     
     
    End Sub
    Je ne demande pas que l'on me fasse le travail, mais juste m'indiquer si c'est possible et un tuto qui pourrait m'aider.

    Je me suis pas mal baladé dans différente discussion mais je n'arrive pas à trouver un cours sur le sujet.

    Toute dernière question, quelle différence y a t-il entre un module et un module de classe ?

    Merci par avance

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Je ne demande pas que l'on me fasse le travail, mais juste m'indiquer si c'est possible et un tuto qui pourrait m'aider.
    Réponse simple et claire :
    procédure déclarée en public dans un module standard et à laquelle on passe les paramètres qu'elle utilise. Et ce : quelle que soit la finalité (celle qui est la tienne actuellement ou toute autre).
    Toute dernière question, quelle différence y a t-il entre un module et un module de classe ?
    Drôle de question.
    A commencer par l'utilisation du mot "module".
    Module, tout l'est, y compris celui que tu utilises pour y écrire un code simple. C'est le module de code concernant l'objet traité.
    Un module "standard" est également un module, mais ne concerne pas un objet particulier. Il héberge en général des procédures paramétrées "partagées" (pour être plus clair, qui seront accessibles depuis différents autres modules, standards ou non
    Un Module de classe est encore autre chose, avec une toute autre vocation. En parler ici nécessiterait tout un cours. Tu trouveras ta réponse en consultant la FAQ de ce forum.

  3. #3
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 179
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Ce code est copié dans 9 feuilles.
    Si cela signifie que neuf feuilles ont la même procédure événementielle, je ne peux que te conseiller d'utiliser plutôt la procédure événementielle Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) du module ThisWorkbook
    Voir le tutoriel Les évènements du module objet ThisWorkbook, dans Excel
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  4. #4
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Merci Philippe, je n'avais pas pensé à cette option. Super le tuto.

    Cordialement
    René

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/07/2010, 16h10
  2. comment utiliser le module ftp pour telecharger un .tgz?
    Par Mydriaze dans le forum Réseau/Web
    Réponses: 2
    Dernier message: 23/07/2009, 13h13
  3. Comment utiliser le module Bio::DB::GenBank ?
    Par djibril dans le forum Bioinformatique
    Réponses: 4
    Dernier message: 12/06/2009, 15h41
  4. [DÉBUTANT] Structure d'un programme / Comment utiliser les modules ?
    Par Le Barde dans le forum Développement 2D, 3D et Jeux
    Réponses: 1
    Dernier message: 10/10/2007, 10h20

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