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

Excel Discussion :

besoin d'aide pour une macro


Sujet :

Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 103
    Points : 58
    Points
    58
    Par défaut besoin d'aide pour une macro
    Salut,


    je souhaite créé une macro dans mon tableau qui me permettrait lorsque je clique sur un bouton

    de passer automatiquement à la ligne avec la date du jour.


    Qui peut m'aider ?

    merci

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    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 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    tu parles de "passer à la ligne"

    c'est une action qui signifie "en partant de la cellule où je suis, je veux aller à la cellule en dessous"

    c'est à dire que tu veux un bouton où il faut cliquer pour .... déplacer ton curseur d'une cellule ... ce qui revient à remplacer la touche "flèche bas" par un clic de bouton et du code VBA ?

    et pour écrire la date du jour, on peut utiliser la fonction =AUJOURDHUI()



    je ne comprend pas l'avantage que tu souhaites obtenir en faisant ça, quelque chose m'échappe ? tu pourrais préciser un peu dans quel contexte d'utilisation se trouve le fichier, et surtout ce "tableau" ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 103
    Points : 58
    Points
    58
    Par défaut
    Mon tableau comporte 4 colonnes : A, B, C et D

    Exemple :

    Si je suis en D4, je veux cliquer sur un bouton pour passer à la cellule A5 et afficher la date d'aujourd'hui et ainsi suite.


    j'ai fait une macro avec la fonction =AUJOURDHUI(), cela fonctionne mais qu'une fois

    moi je voudrais que ceux soit répétitif

  4. #4
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    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 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    J'ai peut-être une solution sans macro et sans formule (enfin quasiment )

    mais, quelle version d'excel as-tu ?

    2007 ou + ??

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 103
    Points : 58
    Points
    58
    Par défaut
    j'ai un PC sur 2007 et un sur 2013

  6. #6
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    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 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Mince,

    je voulais te proposer un tableau Excel (voir ici ce que c'est : http://silkyroad.developpez.com/excel/tableau/)

    en faisant une tabulation après avoir rempli ta colonne D, ça crée automatiquement une nouvelle ligne
    on mettait simplement en colonne A un calcul automatique de la date
    et le tour était quasiment joué

    mais si le fichier dois aussi être utilisé sur excel 2003, tant pis ...

    je peux te proposer autre chose du coup :

    1) quand tu as rempli une cellule en colonne D (juste après avoir appuyé sur la touche Entrée)
    2) une macro se lance automatiquement : si la cellule de la colonne D est la dernière ligne remplie ==> on revient à la ligne suivante en colonne A et on écrit la date du jour

    tu n'aura même pas besoin de cliquer sur un bouton

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 103
    Points : 58
    Points
    58
    Par défaut
    ok et merci pour ton aide

    mais je dois partir je reprends demain matin

  8. #8
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    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 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Pas de souci,

    voici une proposition, à placer dans le module de la feuille concernée :

    - faire un clic droit sur l'onglet de la feuille
    - sélectionner "visualiser le code" pour ouvrir l'éditeur de code
    - coller la procédure suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Column = 4 And Target.Offset(1, 0).Value = "" Then
            With Cells(Target.Row + 1, 1)
                .Select
                .Value = Date
            End With
        End If
    End Sub
    - tester et me dire ce qu'il en est


    le principe :

    - dès que tu vas changer la valeur d'une cellule sur la feuille, la macro se lance automatiquement
    - si la cellule modifiée est en colonne D, et que la cellule juste en dessous est vide :
    * La cellule de la colonne A située sur la ligne du dessous se sélectionne
    * La date du jour s'inscrit automatiquement

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 103
    Points : 58
    Points
    58
    Par défaut
    Salut joe.levrai,

    je suis novice en visualbasic

    j'ai bien coller ton code mais ensuite je fais comment pour l'appliquer dans mon tableau.

    merci

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 103
    Points : 58
    Points
    58
    Par défaut
    j'ai réussi à me débrouiller avec ce code :

    Sub test()
    ActiveCell.Offset(1, -3).Select
    ActiveCell.FormulaR1C1 = "=TODAY()"
    End Sub

    merci joe.levrai pour ton aide

    @+

  11. #11
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    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 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    il n'y a rien à faire pour la déclencher, elle se lance toute seule ! tu l'avais bien collée dans le module de la feuille
    dès que tu remplis une cellule de la colonne D, et que la ligne du dessous est vide, ça te ramenait à la ligne automatiquement


    le problème de ta procédure, c'est que tu es obligé de cliquer sur un bouton .... et ne fonctionnera pas correctement si l'utilisateur appuie sur le bouton en étant ailleurs que sur la dernière cellule de la colonne D

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 103
    Points : 58
    Points
    58
    Par défaut
    pour ma procédure, j'ai prévenu les autres utilisateurs du fichier.

    par contre, je n'y arrive pas avec ta méthode. il ne se passe rien.

    je te joins mon fichier exemple, peux-tu appliquer ton code et me le renvoyer.


    merci

    jeremy.xlsx

  13. #13
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    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 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    j'ai ouvert ton fichier
    Clic-droit sur l'onglet de ta feuille 1
    "Visualiser le code"
    l'éditeur de code apparait, sur le module de la feuille : j'ai collé ma procédure VBA proposée plus haut
    fermé l'éditeur
    écrit un truc en D4 ... le curseur se positionne en E1 avec la date du jour dedans

    procède ainsi, pas à pas, pour comprendre

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 103
    Points : 58
    Points
    58
    Par défaut
    merci de ta patience

    je viens de recommencer à nouveau et cela fonctionne.

    hors mis de fermer l'éditeur, j'avais fait exactement la même chose précédemment.


    un grand merci

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

Discussions similaires

  1. Besoin d'aide pour une macro
    Par chapeyfor dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/12/2013, 17h29
  2. besoin d'aide pour une macro
    Par STEFLOU dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/04/2012, 13h31
  3. Besoin d'aide pour une macro en visual basic
    Par raikkonen3 dans le forum VB.NET
    Réponses: 3
    Dernier message: 11/10/2008, 18h57
  4. Besoin d'aide pour une Requête SQL ...
    Par Kokito dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/07/2004, 11h56
  5. besoin d'aide pour une requête
    Par Damien69 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 31/03/2004, 15h38

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