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 :

demande d'aide pour macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 54
    Par défaut demande d'aide pour macro
    Bonjours tous le monde.
    J'aimerais vous demande votre aide.

    Voila je ne connais pas grand chose au macro sous excel.

    Mais je dois gerer un fichier comportant un grand nombre de colonnes, dont l'une d'elle permet de classer toutes lignes suivant des projets.

    Par exemple la ligne 1 appartient au projet 1, la ligne 2 au projet 4 par exemple.
    Les lignes ne sont pas organisé suivant les projets, mais dans le desordre.

    J'ai dans dans une feuille excel toutes ces donnes et je voudrais classer toutes les lignes pour un projet donnes, et pour chaque projet creer une feuille a part dans le meme classeur. Ansi dans le classeur, la feuille 1 correponds a toutes les donnees, la feuille deux devras correpondre au projet 1, etc....

    Ensuite pour chaque feuille (celle des projets), il y a donc plusieurs colonne, (leur nombre est encore inconnue pour le moment) et pour chaque colonne je voudrais faire la moyenne et ensuite generer le graphique de ces moyennes pour chaqu'un de ces projets.

    Je sais pas si c'est tres claire, mais j'ai vraiment besoin d'aide sur ce coup la.
    Merci de m'aider ou de m'orienter vers un bon cours de macro ou je pourrais voir tous ce dont j'ai besoin faire tous ce dont j'ai besoin

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut
    tu te dis dis débutant en VBA (c'est pas grave, ça se guérit ici)
    Comment veux-tu qu'on t'aide ? On ne peut pas te fournir juste une idée avec la nécessité d'une grosse adaptation. Il faut t'aider à la construire pas-à-pas.

    Pour ça, il faut un fichier d'essai qui contient ta premire feuille, un dizaine de ligne avec quelques colonnes dont celles contenant l'identifiant du projet
    T'en met une seconde que tu construis à partir de la première et qui refète ce que tu attends. Comme tu la fais à la main, avec des copier/coller, t'as pas besoin de t'y connaitre en VBA

    à partir de cette base, on pourra commencer à faire une macro qui fera un double de ta feuille (et la même chose pour les autres projets).

    A+
    NOTA dans les fichiers transmis, il ne faut pas de données personnelles. Toujours remplacer les textes explicites, par des lettres

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 54
    Par défaut
    Merci pour ta reponse.
    Mais depuis hier, j'ai bien bosser et tous seul en plus.................
    Mais j'ai un probleme que je n'arrive pas a surmenter ou plutot 2.

    Probleme 1 :
    Comment on fait pour avoir le nom d'uen colonne si on a son numero.
    Par exemple si on met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Columns(col).Select
    NomCol = ActiveCell.Column
    avec col=1, on devrais avoir NomCol=A

    Probleme 2:
    Je voudrais une fois que tous ça est fait, selectionner une ligne en particulier et ensuite a partir de cette ligne en tirer uen grahique eb baton.
    Je sais pas si je suis tres claire la on faite?

  4. #4
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 086
    Par défaut
    SALut
    Pour le 1er probleme (je n'est pas excel sous la main) mais je pense que comme ca ca oit fonctionner

    Pour ton 2eme probleme le mieux serait de faire dans le menu Outils-> Macro -> Nouvelle macro...
    Puis tu laisse le nom par defaut ca va tres bien et OK
    Ensuite Excel enregistre et cré le code VBA qui correspond au actions que tu effectue, ainsi il te suffit de selectionner ta ligne et faire ton tableau. Tu clique sur le bouton Arreter (le carré, qui se trouve dans le petit menu qui c'est ouvert juste apres avoir choisi le nom de ta macro).
    Ensuite tu vas danbs VBA et tu regarde dans les module l'un d'eux (le derniere) contient ta macro nouvellement créé avec a l'interieur le code qui permet de créer un graphique baton (si toi meme tu as fit un graphique baton lors de l'enregistrement)

    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  5. #5
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    bonjour,

    Pour le 1er problème (je n'est pas Excel sous la main) mais je pense que comme ça, ça doit fonctionner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
          Columns(NumCol).Name
    Eh non!

    pour avoir les lettres de la colonne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NomCol = Split(Columns(col).Address, ":$")(1)
    cordialement

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Par défaut
    La réponse de fred65200 n'étant applicable que pour une seule colonne entière, je vais donner ma méthode applicable sur toute plage pour obtenir la colonne à l'extrême gauche de la plage.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Function GetColumnA1Name(ByVal c As Range) As String
    ' Renvoit la valeur litérale de colonne de la première cellule de la plage c
        Dim pos As Long
     
        pos = InStr(2, c.Address, "$")
        If Not pos = 0 Then
            GetColumnA1Name = Mid(c.Address, 2, pos - 2)
        End If
    End Function

  7. #7
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 086
    Par défaut
    Citation Envoyé par fred65200 Voir le message
    bonjour,

    Eh non!

    pour avoir les lettres de la colonne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NomCol = Split(Columns(col).Address, ":$")(1)
    cordialement
    SAlut
    Oupsss ... j'ai repondu trop vite ... pas taper
    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  8. #8
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    Sans vouloir être désobligeant

    un supposant qu'il n'y aie qu'une colonne
    Citation Envoyé par fred65200 Voir le message

    pour avoir les lettres de la colonne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NomCol = Split(Columns(col).Address, ":$")(1)
    cordialement
    NB si Mom's suivait ce fil, il me semble qu'il serait Résolu depuis longtemps.

    Cordialement

  9. #9
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    bonjour à tous,
    LeForestier.
    Je crois que Mom's voulait la (les) lettre(s) de la colonne
    Citation Envoyé par Mom's Voir le message
    avec col=1, on devrais avoir NomCol=A

  10. #10
    Expert confirmé
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038

  11. #11
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Citation Envoyé par fred65200 Voir le message
    bonjour à tous,
    LeForestier.
    Je crois que Mom's voulait la (les) lettre(s) de la colonne
    Ben Oui...
    mais qu'a cela ne tienne...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NomColonneA1= Split(c.Address(1, 0), "$")(0)
    A+

  12. #12
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Citation Envoyé par LeForestier Voir le message
    Ben Oui...
    mais qu'a cela ne tienne...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NomColonneA1= Split(c.Address(1, 0), "$")(0)
    A+

    Teste ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim c As Range
    Set c= Columns("A:Z")
    NomColonneA1 = Split(c.Address(1, 0), "$")(0)
    MsgBox NomColonneA1
    Moi, j'ai "A:Z", pas "A"
    Mais ce n'est peut-être pas ce que tu voulais dire

    Edit
    Avec ça ça fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub TestMacro()
    Dim c As Range
    Set c = Columns("A:Z")
    NomColonneA1 = Split(Split(c.Address(1, 0), "$")(0), ":")(0)
    MsgBox NomColonneA1
    End Sub
    Et tant pis pour ceux qui aiment bien les fonctions

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

Discussions similaires

  1. [VBA] Excell : demande d'aide pour une macro
    Par Fealendril dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/01/2006, 16h28
  2. [xsl][xalan]Demande d'aide pour un comptage
    Par HomoErectus dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 19/09/2005, 09h22
  3. Demande d'aide pour query difficile
    Par ericjean514 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 22/02/2005, 18h52
  4. Demande d'aide pour une requête
    Par arkzor dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/12/2004, 02h40
  5. [TPW][cours]Demande d'aide pour finir un programme
    Par jf dans le forum Turbo Pascal
    Réponses: 21
    Dernier message: 16/06/2003, 18h10

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