Incrémentation automatique de la colonne date

Résolu
TraderAS Messages postés 119 Statut Membre -  
TraderAS Messages postés 119 Statut Membre -
Bonjour,

Je suis débutant sur le VBA/Excel et je ne sais pas comment incrémenter la cellule date quand j'ajoute une nouvelle ligne

exemple:

03/02/2013
02/02/2013
etc...

quand j'insère une nouvelle ligne en haut, je veux qu'il affecte la date 04/02/2013 à cellule nouvellement crée

Merci

6 réponses

  1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Avec le bouble clic et pour éviter que le code ne s'active à partir de n'importe quelle cellule de la colonne A il serait judicieux de le brider sur une cellule à condition que l'insertion se fasse toujours au dessus de la même ligne exemple A2 à part que l'insertion soit variable
    code à tester, clic droit sur l'onglet de feuille/Visualiser le code et coller ce code

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, [A2]) Is Nothing Then
    Target.EntireRow.Insert
    [A2] = [A3] + 1
    [A1].Activate
    End If
    End Sub
    1
  2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut,

    Exemple sur la première ligne tu as tes en tête de colonne et tes dates ont en colonne A à partir de A2, ce code insérera une ligne après la ligne d'en tête et copiera la date qui est passée en A3 + 1 jour

    Sub test()
    [A2].EntireRow.Insert
    [A2] = [A3] + 1
    End Sub

    0
  3. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour tous

    j'allais donné celle là, Mike qui n'est pas mal non plus et que je tire de tes excellents enseignements (pour rendre à césar..)
    Elle ajoute la ligne et incrémente la date par simple double clic sur la date en haut de la colonne A
    a coller dans le code de la feuille.

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim col As Long
    If Target.Column <> 1 Then Exit Sub
    Cancel = True
    d = ActiveCell.Value
    Rows(Target.Row).Copy
    Rows(Target.Row).Insert Shift:=xlDown
    Application.CutCopyMode = False
    ActiveCell.Value = d + 1
    End Sub

    crdlmnt
    0
  4. TraderAS Messages postés 119 Statut Membre 1
     
    Merci à vous tous ca marche ;)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Si tes attentes sont satisfaites, peut on mettre le statut de la discussion en résolu
    0
  7. TraderAS Messages postés 119 Statut Membre 1
     
    oui bien sure
    0