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 :

Ecrire à la suite dans une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Ecrire à la suite dans une cellule
    Bonjour à tous,

    Ne maitrisant pas encore les macro Excel, j'ai un petit problème, assez simple, mais très ennuyeux pour moi.
    Quand l'utilisateur double-clique sur une cellule, une série de ligne de code sont lancées. Pour ce que je veux faire, voici le code actuel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    'Loading some 'data
    day = Left(Date, 2)
    month = Mid(Date, 4, 2)
    Cancel = False
     
    ''Test
    Application.SendKeys "{END}"
    Application.SendKeys "%~"
    ActiveCell.Value = day & "/" & month & " :"
    Mais le problème est qu'à chaque fois que l'utilisateur veut éditer le contenu, il perd ce qui était présent avant. Hors je voudrais que tout reste et qu'il tape son commentaire à la suite de ce qui existe, après un passage à la ligne (d'où le "%~").
    Info pratique: les variables "day" et "month" sont déclarées au début de la fonction.

    Merci d'avance pour votre aide
    Arnaud

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Points : 164
    Points
    164
    Par défaut
    Bonjour,

    Pour bien comprendre : lorsque l'utilisateur clique 2 fois, la macro comprend cela comme un double clic ?

  3. #3
    Membre régulier
    Avatar de wape
    Profil pro
    Inscrit en
    Février 2003
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2003
    Messages : 90
    Points : 123
    Points
    123
    Par défaut
    Bonjour,

    Tu peux essayer ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
     
    day = Left(Date, 2)
    month = Mid(Date, 4, 2)
    Cancel = False
     
    'Ajouter un saut de ligne si la cellule n'est pas vide
    If ActiveCell.Value <> "" Then
       ActiveCell.Value = ActiveCell & Chr(10)
    End If
     
    'Ajouter le jour et le mois
    ActiveCell.Value = ActiveCell.Value & day & "/" & month & " :"
     
    'Positionner le curseur à la fin du texte
    Application.SendKeys "^{END}"
     
    End Sub
    wape

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    House MD,

    Dans Excel, tu peux demander à ce que ta Macro s'exécute juste avant le double-clic, une fonction toute faite prévoit déjà de le gérer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
     
    End Sub
    Wape,

    Que dire de plus sauf que c'est exactement ce que je voulais; petite question qui est la base de la réponse, que signifie "chr(10)"? C'est ce qui permet de faire le saut de ligne?
    Grand merci pour ton aide

    Arnaud

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Points : 164
    Points
    164
    Par défaut
    Je connais cette fonction... je pensais que la macro interprétait 2 clics rapprochés comme un double clic...

    Très bien si tu as trouvé ta réponse.
    Cdt.

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

Discussions similaires

  1. Ecrire du texte dans une cellule
    Par M4itreG dans le forum VB.NET
    Réponses: 2
    Dernier message: 05/11/2013, 15h38
  2. [XL-2003] ecrire 15 décembre dans une cellule
    Par mouss4rs dans le forum Excel
    Réponses: 3
    Dernier message: 10/04/2012, 18h45
  3. Ecrire un resultat dans une cellule
    Par nomade333 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/04/2012, 18h30
  4. Ecrire en gras dans une cellule
    Par ouardia dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/07/2007, 12h05
  5. [VBA-E] Comment écrire à la suite dans une cellule ?
    Par bogosse dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/07/2006, 13h03

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