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éation de macro avec cellule de référence


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 8
    Par défaut Création de macro avec cellule de référence
    Bonjour ,

    Je dois créer cette macro mais j'ai du mal .
    Je ne comprend pas trop le fait de créer un "code " catégorie .

    La consigne est de créer une macro qui en faisant référence à l'ensemble des lignes de la feuille produit . (ici prenons une feuille quelconque)
    Le nombre de lignes n'est pas connu à l'avance .


    En ne faisait référence qu'à la cellule "A1", cette macro :


    - doit vous demander un code catégorie
    - ajouter cette feuille
    -renommer cette feuille avec le nom catégorie saisi
    - copier le nom et le prix unitaire des produits de cette catégorie sur cette feuille

    Je n'ai pas le fichier contenant la feuille . Mais j'aimerai qu'on m'aide pour la démarche à suivre si cette feuille existait ...

    Merci .

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    voici pour tes tests, revient avec le code que tu auras réussi à faire si tu veux de l'aide sur la programmation :

    - doit vous demander un code catégorie : regarde du côté de l'instruction "INPUTBOX" si tu veux une boite de dialogue. Sinon tu peux utiliser une cellule Excel où l'utilisateur écrira la catégorie

    - ajouter cette feuille : utilise l'enregistreur de macro

    -renommer cette feuille avec le nom catégorie saisi : utilise l'enregistreur de macro

    - copier le nom et le prix unitaire des produits de cette catégorie sur cette feuille : utilise l'enregistreur de macro avec l'outil "filtre avancé" que tu trouveras dans l'onglet "données" pour extraire les lignes correspondant à la catégorie

    Tutoriel du filtre avancé : http://philippetulliez.developpez.co...dvancedfilter/


    Avec l'enregistreur de macro, tu auras 75% du travail fait, il restera :

    - à optimiser ce code (on t'aidera si besoin)
    - à régler la façon dont tu veux que l'utilisateur indique la catégorie (une cellule ou une boite de dialogue)
    - gérer tous les aléas (si la catégorie n'existe pas ? Si la feuille existe déjà ? Si la catégorie est un mot utilisant des caractères interdits dans un nom de feuille ? etc...)


    Bon travaux

  3. #3
    Membre émérite
    Avatar de eric4459
    Homme Profil pro
    Ingénieur Gestion de Projets
    Inscrit en
    Avril 2014
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Gestion de Projets
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 605
    Par défaut
    Bonjour Hollye,

    En ne faisait référence qu'à la cellule "A1", cette macro :
    D’après cette précision, ce qui me vient immédiatement à l'esprit c'est qu'il faut utiliser la fonction "Offset".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Ma_Page as Worksheet
    Dim Ma_Ref as Range
    Set Ma_Page = Thisworkbook.Sheets("Le Nom de ta Feuille")
    Set Ma_Ref = Ma_page.Range("A1") 'Ici tu défini ta cellule A1 comme référence
    Ensuite, hormis les autres fonctionnalités de ta macro, si par exemple tu veux copier le contenu de la cellule B5 dans la cellule C1 tu écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ma_Ref.Offset(0,2) = Ma_Ref.Offset(4,1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ma_Ref.Offset(0,2) est ta cellule C1 : décalage (Offset) de 0 ligne et de 2 colonnes (de A1 on passe en C1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ma_Ref.Offset(4,1) est ta cellule B5 : décalage de 4 lignes et de 1 colonne (de A1 on passe en B5)
    J’espère que cette astuce pourra t’être utile en plus des recommandations de Joe.
    Eric
    "Vous n’avez cessé d’essayer ? Vous n’avez cessé d’échouer ? Aucune importance !
    Réessayez, échouez encore, échouez mieux." Samuel Beckett
    Pensez aux balises et
    Visitez les FAQ Excel et allez faire un tour ici
    Tutoriels de SilkyRoad

Discussions similaires

  1. [XL-2007] Création de macro qui compte et affiche le nomre de cellules avec "x"
    Par maximus45000 dans le forum Excel
    Réponses: 4
    Dernier message: 20/05/2015, 11h03
  2. [Toutes versions] Création du macro avec une boucle
    Par Kiera dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 09/01/2015, 11h26
  3. Création de tableau avec cellule fussioné
    Par funkyCoder dans le forum Débuter
    Réponses: 2
    Dernier message: 01/08/2008, 09h47
  4. Création d'une macro avec un paramètre
    Par jacklafrip dans le forum C
    Réponses: 4
    Dernier message: 19/02/2008, 21h35
  5. Macro VBA pour mettre colonne en ligne avec cellule fusionnée
    Par dany13 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/01/2008, 06h09

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