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 :

[VBA][Excel][debutant] question procedure


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 15
    Par défaut [VBA][Excel][debutant] question procedure
    voila j'ai creer une procedure qui par une boucle qui analyse tout certaines colonne d'une ligne donnée en fait la somme

    (en gros les colonnes c'est les semaine (contenant des sous colonnes) et pour chaque semaine on additionne le nombre d'heure passé).

    est-ce qu'il est possible dans une cellule d'appelé une procedure ? car quand je rajoute une semaine, ça oblige a refaire le calcul

    merci à vous et bonne continuation

  2. #2
    Invité
    Invité(e)
    Par défaut
    Tu ne peux malheureusement pas attribuer l'execution d'une macro à une cellule... Il te reste 2 solutions:

    1) créer un bouton et affecter ta macro à ce bouton
    2) Il existe une procédure (que j'ai oubliée, mais je vais la retrouver) qui peut être lancée à chaque modification de ta feuille, mais ça alourdit fortement l'execution

    A+

  3. #3
    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
    Hello,
    Ce que tu peux faire est l'activation d'une macro à l'entrée d'une cellule. Si celle-ci est toujours la même, ça facilite la chose.
    Pour ça, tu dois mettre le code dans le code de la feuille de calcul en testant l'adresse de la cellule. Exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public AncienneAdresse
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
        If AncienneAdresse = "$A$5" Then
            AncienneAdresse = ""
             'Mise à jour de tes données Exemple :
             Range("C10").Value = "Coucou c'est moi !"
        End If
        If ActiveCell.Address = "$A$5" Then
                AncienneAdresse = ActiveCell.Address
        End If
    End Sub
    Tu dis

    A+

  4. #4
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Salut

    juste un conseil, tu dis
    (en gros les colonnes c'est les semaine (contenant des sous colonnes) et pour chaque semaine on additionne le nombre d'heure passées).
    Je te rappelle que tu es limité en colonnes à 256 :colonne IV

    Donc très vites tu vas être limité je te conseil donc de le faire dans l'autre sens en lignes tu as 65536 et si tu fais une ligne par jour tu obtiens 179.55 année

    J'ai pour un client fait cette transormation passer toutes les colonnes en lignes et vice versa, parce qu'ils étaient justement limité, ET JE T'ASSURE QUE C'EST TRES CHIANT A FAIRE surtout si il y a des macro et des formules dans tous les sens (ce qui étaient mon cas)

    Ceci n'est bien entendu qu'un conseil vis à vis d'une expérience vécu.

    Igloobel

  5. #5
    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
    J'ai pour un client fait cette transormation passer toutes les colonnes en lignes et vice versa, parce qu'ils étaient justement limité, ET JE T'ASSURE QUE C'EST TRES CHIANT A FAIRE surtout si il y a des macro et des formules dans tous les sens (ce qui étaient mon cas)
    Hello igloobel,
    Tu connais "Copier -> Collage spécial -> transposé" Ça te met tout ça dans le bon sens d'un seul coup d'un seul... (pour les formules, je me souviens pas)
    Pour ce qui concerne les macros associées j'avoue que c'est pas marrant.
    Hello Fealendril, ça donne quoi pour la macro associée à une cellule ?

    A+

  6. #6
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 15
    Par défaut
    bah du coup j'ai reussi a me débrouiller, en utilisant tout simplement la fonction "somme si"

    parfois on veux faire complexe alors que les méthodes simple suffisent

    merci les gars

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

Discussions similaires

  1. [VBA Excel] Comment forcer Excel à se fermer sans question !
    Par Paloma dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/12/2006, 13h38
  2. Réponses: 28
    Dernier message: 22/05/2006, 16h25
  3. [Debutant] VBA EXCEL form comboliste imbriquée
    Par megapacman dans le forum Access
    Réponses: 4
    Dernier message: 10/03/2006, 10h27
  4. [VBA-E][DEBUTANT] Agrandir une fenêtre classeur Excel
    Par skual dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/02/2006, 15h18
  5. [VBA][Excel]Petite question bête !
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/09/2005, 15h36

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