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 :

Groupement de colonne automatique [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de Ju1.0
    Homme Profil pro
    Ingénieur Automaticien
    Inscrit en
    Novembre 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2010
    Messages : 125
    Par défaut Groupement de colonne automatique
    Bonjour

    Je voudrais savoir ou trouver les ressources pour lancer des macro sur évènement. Plus particulièrement à la fin de la saisie d'une cellule (entrée ou sélection d'une autre cellule) ou comment interdire la sélection d'une autre cellule autrement que par entrée lorsque l'on écrit dans une cellule. Ou encore comment lancer une macro par le clique sur n'importe quelle cellule, avec en paramètre, les coordonnée de cette cellule.

    De plus

    Dans ce zoli fichier Excel il y a tout un tas de groupe de colonne groupée (), et pareil avec les lignes. Je voudrai pouvoir enrouler et dérouler automatiquement certain de ces groupes. Direction l'enregistreur de macro pour voir quel code sort, si il y a quelque chose d'exploitable. après plusieurs essais qui ne donnent rien, j'ai ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Macro6()
    '
    ' Macro6 Macro
    ' Macro enregistrée le 11/02/2011 par ju1.0
    '
     
    '
        Rows("5:12").Select
        Range("B12").Activate
        ExecuteExcel4Macro "SHOW.DETAIL(1,11,FALSE,,4)"
        Rows("12:12").Select
        Range("B12").Activate
        ExecuteExcel4Macro "SHOW.DETAIL(1,11,TRUE,,4)"
    End Sub
    Et petit test pour voir si ça marche
    Citation Envoyé par Message d'erreur
    Erreur d'exécution '1004':

    Vous avez tapé un nombre trop important d'arguments pour cette fonction.

    Pour obtenir de l'aide sur la manière de saisir des arguments pour la fonction, cliquez sur OK pour fermer ce message. Sur la barre de formule, cliquez sur le bouton du signe égal (à gauche du signe égal de votre formule).

    1. le message d'erreur n'a pas de bouton OK, juste 'fin', 'déboguage', 'aide', et 'continuer' en gris (à la rigueur, je suis pas trop bète, je clique sur faim, ..euh ... fin)
    2. Je ne comprend pas trop ce que la barre de formule viens faire ici. Et de toute façon ils ne donnes pas vraiment plus de précision sur le sujet
    3. Le bouton d'aide ne donne absolument rien de rien du tout à part des banalités inutile.

    Donc, comment faire pour exécuter ce petit bout de code pour pouvoir enrouler et dérouler les groupes ?
    Et je le rappelle, comment lancer une macro sur action genre clic dans le classeur ?

    Merci d'avance

  2. #2
    Membre éprouvé Avatar de LouiMz
    Homme Profil pro
    Inscrit en
    Février 2010
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 104
    Par défaut
    Bonjour,

    La programmation événementielle s'effectue directement dans les feuilles (Sheets) de l'editeur de macro, egalement dans le Classeur (Workbook) ou encore dans les UserForm.

    Changement de selection, activation, avant la sauvegarde faire...

    Vous pouvez egalement faire de l'événementielle sur les controles (textbox, combobox...) inserés dans le classeur ou dans un userform.

    Cordialement

    Ps: Lorsqu'on change de selection, inclure une condition pour ne provoquer les evenements que sur les cellules souhaitées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    'Executera le code si la cellule selectionnée est B5
    If Activecell.row = 5 and Activecell.column = 2 then
    ...
    End if

  3. #3
    Membre très actif Avatar de Ju1.0
    Homme Profil pro
    Ingénieur Automaticien
    Inscrit en
    Novembre 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2010
    Messages : 125
    Par défaut
    Merci de la réponse LouisMz mais...
    Je n'ai ni UserForm ni contrôles. Ça aurait été simple, vu que ce sont des objet créé pour la programmation évènementielle.
    En fait il y a un début de réponse qui m'intéresse ici
    La programmation événementielle s'effectue directement dans les feuilles (Sheets) de l’éditeur de macro
    mais je ne sais toujours pas comment faire ! Même un exemple me permettrai de savoir ou feuilleter la documentation.

  4. #4
    Membre éprouvé Avatar de LouiMz
    Homme Profil pro
    Inscrit en
    Février 2010
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 104
    Par défaut
    Re,

    Pas de problème il est vrai que je n'ai pas assez détaille.

    Dans l'editeur de macro, l'ensemble des feuilles présentes dans les classeurs sont listées sur la gauche.

    En double cliquant dessus, on arrive dans le "code" des feuilles. Puis en cliquant sur la liste au dessus à gauche selectionnez Worksheet (ou Workbook) puis vous verez apparaitre l'ensemble des methodes appliquées à la feuille, dans la liste en haut à droite.

    Une image vaut mieux qu'un long discours :

    Cordialement
    Images attachées Images attachées  

  5. #5
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    un peu de recherche dans les Tutoriels et la FAQ Excel te serait des plus salvateurs, par exemple :

    Les évènements dans la feuille de calcul Excel


    cordialement,

    Didier

  6. #6
    Membre très actif Avatar de Ju1.0
    Homme Profil pro
    Ingénieur Automaticien
    Inscrit en
    Novembre 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2010
    Messages : 125
    Par défaut
    En fait, je me sens tout minable de vos 2 réponses. Bien que la partie première de mon job ne soit pas développeur, je suis censé assez bien connaitre toussa. De plus, je fait systématiquement des recherche avant de poster, mais apparemment, pas les bonne.
    dois être fatigué moi

    En vérité, je vous le dis, j'ai honte.
    J'espère que personne que je connais ne me reconnaitra ici

    Il me reste toujours la 2ème partie. pourquoi le message d'erreur lorsque je lance une macro que je viens d'enregistrer ?

    Je craint un max, jvous jure

  7. #7
    Membre très actif Avatar de Ju1.0
    Homme Profil pro
    Ingénieur Automaticien
    Inscrit en
    Novembre 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2010
    Messages : 125
    Par défaut
    J'ai revu ce dont j'avais besoin. Je ne fait plus que refermer tout les groupes. J'ai refait l'enregistrement de macro, simplifier un peu le code et le message d'erreur n'apparait plus.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub OpenMacro()
    '
    ' OpenMacro Macro
    ' Macro enregistrée le 14/02/2011 par jchartrain
    '
     
    '
        ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=1
        ActiveSheet.Outline.ShowLevels RowLevels:=1
    End Sub
    Je résous, mais si quelqu'un à une explication sur le message d'erreur, je serai ravi d'en aprendre un peu.

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

Discussions similaires

  1. [POI]Largeur de colonne automatique
    Par JohnBlatt dans le forum Documents
    Réponses: 2
    Dernier message: 10/06/2008, 10h52
  2. [JTable] redimensionnement de colonnes automatique
    Par clebig dans le forum Composants
    Réponses: 7
    Dernier message: 27/09/2006, 15h14
  3. problème de groupement des colonnes
    Par opeo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/09/2006, 16h35
  4. Largeur de colonne automatique ?
    Par sebkernoise dans le forum IHM
    Réponses: 2
    Dernier message: 26/06/2006, 15h31
  5. Ajout d'une colonne automatiquement suivant date
    Par paflolo dans le forum Access
    Réponses: 7
    Dernier message: 07/03/2006, 17h51

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