Ajout de date automatique. Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
T
Thomassassin
Jeune membre
Jeune membre
Messages : 16
Inscrit le : 21 février 2016
Version d'Excel : 2007 FR

Message par Thomassassin » 9 mars 2016, 23:22

Bonjour les amis Excel,

Je me suis essayé à une macro en utilisant la fonction "enregistrer une macro" mais j'ai un couak :)

Je souhaite lors de ma création de nouvelle ligne que dans la case A7 la date du jours s'implémente et ceci de façon définitive.
J'ai rentré la formule =MAINTENANT() et du coup le problème c'est qu'à chaque ouverture de mon fichier c'est la date du jours qui apparait :cry: :evil:

Si quelqu'un pouvait m'éclairer et me conseiller sur ma macro :) je suis preneur.

Merci.
Sub Ajoutligne()
'
' Ajoutligne Macro
'

'
    Rows("7:7").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.RowHeight = 21
    Range("A7:S7").Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    Range("A7").Select
    ActiveCell.FormulaR1C1 = "=NOW()"
    Rows("7:7").Select
    Selection.Font.Bold = False
    With Selection.Font
        .Size = 11
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .TintAndShade = 0
    End With
    
End Sub
Avatar du membre
Raja
Passionné d'Excel
Passionné d'Excel
Messages : 5'190
Appréciations reçues : 14
Inscrit le : 3 février 2008
Version d'Excel : 2010 à 2016 FR et 2010 EN

Message par Raja » 9 mars 2016, 23:30

Bonsoir,
Remplace la ligne :
ActiveCell.FormulaR1C1 = "=NOW()"
par :
ActiveCell = Date
Cdlt,
Raja
T
Thomassassin
Jeune membre
Jeune membre
Messages : 16
Inscrit le : 21 février 2016
Version d'Excel : 2007 FR

Message par Thomassassin » 10 mars 2016, 00:00

Merci je vais tester ça demain.
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'736
Appréciations reçues : 703
Inscrit le : 27 août 2012
Version d'Excel : 365 Personnel

Message par Jean-Eric » 10 mars 2016, 08:35

Bonjour,
Puisque tu travailles avec Excel 2007, tu pourrais envisager de mettre tes données sous forme de tableau.
Tu n'auras plus à te préoccuper de la mise en forme des données, ou l'insertion de formules.
Et ta procédure pourrait ressembler à ceci :
Private Sub cmdInsertRowInTable_Click()
'Insere uune ligne si necessaire et inscrit la date en colonne 1
'(avec les formules et les mises en forme)
    Set lo = Me.ListObjects(1)
    If lo.InsertRowRange Is Nothing Then
        'Le tableau comporte des données
        lo.HeaderRowRange.Cells(1).Offset(lo.ListRows.Count + 1) = Date
    Else
    'Le tableau est vide
    lo.InsertRowRange.Cells(1) = Date
    End If
    Set lo = Nothing
End Sub
Je t'envoie un exemple.
Cdlt.
Thomassassin.xlsm
(23.46 Kio) Téléchargé 12 fois
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
T
Thomassassin
Jeune membre
Jeune membre
Messages : 16
Inscrit le : 21 février 2016
Version d'Excel : 2007 FR

Message par Thomassassin » 10 mars 2016, 10:13

Bonjour Jean Eric,

Je n'est pas tout compris :oops:

Voici une page de mon fichier.

Cela fonctionne comme je le souhaite mais peut on enlever le clignotement pour que ce soit plus esthétique et plus immédiat?
Paques2.xlsm
(18.08 Kio) Téléchargé 8 fois
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'736
Appréciations reçues : 703
Inscrit le : 27 août 2012
Version d'Excel : 365 Personnel

Message par Jean-Eric » 10 mars 2016, 10:44

Re,
Voici mon interprétation des choses.
Pour une synthèse, on verra plus tard.
Les données ont été normalisées en tableau (pour permettre des calculs ultérieurs).
Cdlt.
Paques2.xlsm
(22.85 Kio) Téléchargé 10 fois
nota : faut-il envisager de supprimer une commande existante?
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
T
Thomassassin
Jeune membre
Jeune membre
Messages : 16
Inscrit le : 21 février 2016
Version d'Excel : 2007 FR

Message par Thomassassin » 10 mars 2016, 14:20

Le principe de ligne qui s'implémente est bien ce que je souhaite faire mais avec ma mise en page :)

J'ai 5 feuilles de ce type avec des intitulés différents et surtout je reprends certaine données pour faire un suivi des stocks sur une 6eme feuille.
nota : faut-il envisager de supprimer une commande existante?
A quelle commande penses tu?
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'736
Appréciations reçues : 703
Inscrit le : 27 août 2012
Version d'Excel : 365 Personnel

Message par Jean-Eric » 10 mars 2016, 14:51

Re,
Si tu veux conserver ta mise en forme, c'est ton choix. ;;)
Mais elle n'est pas adaptée pour la gestion des données sous Excel.
Pour la question de la suppression d'une commande, je parlais de l'éventualité de supprimer une commande existante (annulation).
Cdlt.
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
T
Thomassassin
Jeune membre
Jeune membre
Messages : 16
Inscrit le : 21 février 2016
Version d'Excel : 2007 FR

Message par Thomassassin » 10 mars 2016, 22:06

En tant que débutant j'apporte peut être trop d'importance à la mise en forme et j'ai pas le raisonnement d'un pro excel ;)

L'objectif de ce tableau est de pouvoir saisir et suivre les commandes des clients, tout en suivant les stocks puis de pouvoir imprimer par date de retrait un récap papier pour que l'on puisse réaliser et préparer les commandes.

Excuse moi mais je ne comprends toujours pas:
Pour la question de la suppression d'une commande, je parlais de l'éventualité de supprimer une commande existante (annulation).
:oops: :oops:

Voici le document complet tel que je l'ai fait, peut être t'aidera t'il à mieux comprendre ce que je cherche à obtenir.

Tel qu'il est là il convient à ce que je souhaite faire. Je pense qu'il peut être optimisé mais j'ai un niveau très basique en excel.

Sur ce document je viens de réaliser ma 1ere macro et encore j'ai utilisé la fonction "Enregistrer un macro".

Thomas
Modifié en dernier par Thomassassin le 14 mars 2016, 10:15, modifié 1 fois.
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'736
Appréciations reçues : 703
Inscrit le : 27 août 2012
Version d'Excel : 365 Personnel

Message par Jean-Eric » 13 mars 2016, 07:30

Bonjour,
Un exemple à étudier ce beau dimanche de mars. :D
A te relire.
Cdlt.
xlp - Thomassassin.xlsm
(124.26 Kio) Téléchargé 15 fois
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message