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 :

Créer une macro "répétitive"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Octobre 2013
    Messages : 46
    Par défaut Créer une macro "répétitive"
    Bonjour à tous,

    j'ai besoin sur un fichier excel de la chose suivante :

    -j'ai deux feuilles (feuille 1 et 2) avec sur chacune d'elles, un tableau quasi identique

    - lorsque je clique sur la cellule A2 de la feuille 1 me retrouver automatiquement dans la cellule A2 de la feuille 2
    Et ceci pour toutes les cellules d'un tableau qui s’étend de la cellule C4:CU127

    J'ai pensé à un bouton de commande affecté d'une macro masi comme vous pouvez l'imaginer la personnalisation de chaque bouton de commande avec une macro différente est assez longue.....


    Existe t il une autre solution? merci pour votre aide

  2. #2
    Membre éclairé
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Septembre 2013
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2013
    Messages : 51
    Par défaut
    Oui, il te faut écrire macro,
    puis l'appeler dans la section selection change de ta feuille.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
    End Sub

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Octobre 2013
    Messages : 46
    Par défaut
    Merci beaucoup pour ta réponse.... mais je suis plutot débutant dans ce type de macro.... peux tu m'expliquer précisément comment faire.... si ce n'est pas trop compliqué... merci infiniment

  4. #4
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut
    Bonjour,
    Ouvres l'éditeur visual Basic
    Dans la partie gauche, double clique Microsoft Excel objets Feuil1
    Dans la partie droite, listbox de gauche, sélectionne Worksheet si ce n'est pas fait par défaut.
    Dans la listBox de droite, sélectionne SelectionChange.

    Et voilà le code de NicolasST sera affiché.
    J'y ajoute une ligne qui exclut toute action si la cellule cliquée est en dehors de la plage.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      If Intersect(Target, Range("C4:CU127")) Is Nothing Then Exit Sub
    Tu peux tester en ajoutant cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox "Clic d'une cellule dans la plage"
    Maintenant, retourne dans ta feuille et tu verras que le message ne s'affiche pas si tu cliques en dehors de la plage.

    Bonne recherche pour la suite.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Octobre 2013
    Messages : 46
    Par défaut
    Merci beaucoup de prendre du temps pour m'aider c'est très sympa
    J'ai suivi tes indictions
    mais lorsque je clique sur une cellule de la plage C4:CU127 j'ai le message "Clic d'une cellule dans la plage" mais je reste sur cette feuille sans changer comme je le souhaite.... j'ai peut-être raté quelque chose?

    merci à vous

  6. #6
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut
    Ah oui, c'est pas avec une seule instruction que tu vas exécuter toute une procédure. Je pensais que cela allait te lancer pour coder les lignes suivantes.

    Alors maintenant que tu as constaté que ce code "agit", tu peux enlever la ligne qui affiche le message et écrire les lignes suivantes qui vont t'ouvrir la feuille 2 et y sélectionner la cellule de même adresse que celle que tu as cliqué dans la feuille 1.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      ThisWorkbook.Sheets(2).Select
      Cells(Target.Row, Target.Column).Select
    Je n'ai pas testé parce que je n'ai pas Excel sur ce pc. Mais s'il y a une erreur, elle doit être mineure.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 23/10/2007, 15h56
  2. Créer une macro archivage
    Par Anaelody dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/07/2007, 17h14
  3. Réponses: 8
    Dernier message: 09/01/2007, 17h30

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