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 :

Insérer une ligne du tableau [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 330
    Points : 127
    Points
    127
    Par défaut Insérer une ligne du tableau
    Bonsoir,
    Avec le code ci-dessous serait-il possible de le modifier afin d'insérer une nouvelle ligne du tableau ?

    En effet la feuille est protégée sauf les colonnes B et F, lorsque j’appuie sur F8 en colonne "B" la date s'inscrit en colonne C = date du jour, en colonne D l'heure début
    F8 en colonne F, la colonne G donne la date de fin et en colonne H l'heure de fin.
    Il peut y avoir plusieurs lignes avec la même date.

    Il faudrait que la nouvelle ligne du tableau soit uniquement insérée lorsque j’actionne "F8" en colonne F et non en colonne B sinon les lignes vierges du tableau se multiplies inutilement.
    mon tableau porte le nom "Tableau3".
    Je pense que le code peut être plus compacte.

    Merci d'avance.
    PS : si j’actionne "F8" sous la dernière ligne du tableau la date est erronée, d’où l'avantage de travailler dans une ligne déjà crée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Heure()
      ActiveSheet.Unprotect ""
      Selection.ListObject.ListRows.Add AlwaysInsert:=False 'insertion d'une ligne du tableau
        Application.EnableEvents = False
             ActiveCell.Value = ""
              ActiveCell.Offset(0, 1).NumberFormat = "General"
                ActiveCell.Offset(0, 1).Value = Format(Date, "mm-dd-yyyy")
                    ActiveCell.Offset(0, 2).Value = Format(Time, "hh:mm")
                       ActiveCell.Offset(0, 3).Select
                         ActiveSheet.Protect "" ' on met de nouveau le mot de passe
                           Application.EnableEvents = True
                                ActiveWorkbook.Save ' sauvegarde du classeur
     
                        End Sub

  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,

    il faut rajouter à dans ton escalier, marche numéro 3, un test If sur le numéro de colonne de ActiveCell

    Désolé, je m'arrête là, les travaux sur objets actifs (ActiveCell, Activesheet etc...) c'est comme la grippe, assez contagieux mais avec un vaccin assez fiable : tuto/faq/recherches sur le forum

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 330
    Points : 127
    Points
    127
    Par défaut
    Merci, mais pour le modifier je n'ai pas suffisamment d'expérience.

    Tu ferais comment ?

    Bonne soirée,
    Philippe

  4. #4
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 419
    Points : 16 262
    Points
    16 262
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 330
    Points : 127
    Points
    127
    Par défaut
    Bonsoir Chris,

    Merci pour ta réponse, @+
    Philippe

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

Discussions similaires

  1. [XL-2003] Trier un tableau après avoir insérer une ligne!
    Par deamonRav dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 07/04/2010, 10h27
  2. [WD-2002] Insérer une ligne à la fin d'un tableau
    Par Wanaka dans le forum VBA Word
    Réponses: 2
    Dernier message: 12/05/2009, 07h31
  3. [RegEx] Insérer une ligne toutes les n lignes dans un tableau
    Par guidav dans le forum Langage
    Réponses: 5
    Dernier message: 09/07/2008, 15h12
  4. [Tableau] Insérer une ligne dynamique à un tableau statique
    Par michaeljeru dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 11/06/2008, 10h38
  5. [Tableaux] Insérer une ligne au début d'un tableau
    Par WagaSeb dans le forum Langage
    Réponses: 5
    Dernier message: 20/06/2007, 12h13

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