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 :

Calcul automatique dans une colonne


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 20
    Points : 18
    Points
    18
    Par défaut Calcul automatique dans une colonne
    Bonjour
    *
    Sur une feuille Excel, j’aimerais que lorsque je rentre une date dans l’une des cellule de la colonne A, une formule écrive sur la même ligne dans la cellule B une date correspondant à 14 semaine avant.
    *
    Exemple*: SI je marque «*14/05/2012*» dans la cellule A6, automatiquement apparaitra la date «*06/02/2012*» dans la cellule B6. Bien sûr si je retire la date en A6, la date en B6 disparait.
    *
    Quelqu’un pourrait-il m’aider*?
    *
    Merci

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,

    Ci dessous une exemple en utilisation l'évenement Change de la Feuille
    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
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    'Si la colonne modifiée est A (colonne 1)
    If Target.Column = 1 Then
         'Si la saisie dans la cellule est une date
        If IsDate(Target.Value) Then
            'Ajout de la date dans la colonne E
            Range("E" & Target.Row).Value = DateAdd("ww", -14, Target.Value)
        Else
            Range("E" & Target.Row).Value = ""
        End If    
        End If
     
    End If
     
    End Sub
    Jérôme

  3. #3
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Utilise l'évènement Change de ta feuille (code à mettre dans la module de la feuille)
    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
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range
     
    If Target.Column = 1 And Target.Count = 1 Then
        On Error Resume Next
        Application.EnableEvents = False
        If IsDate(Target.Value) Then
            With Target.Offset(0, 1)
                .Value = DateAdd("ww", -14, CDate(Target.Value))
                .NumberFormat = "dd/mm/yyyy"
            End With
        Else
            Target.Offset(0, 1).ClearContents
        End If
        Application.EnableEvents = True
    End If
    End Sub
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 20
    Points : 18
    Points
    18
    Par défaut
    Un grand Merci a tous les 2 pour votre rapidité!
    Vos 2 solutions fonctionnent à la perfection. ( il y a juste un "end if" en trop dans la première solution).

    Encore merci!

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

Discussions similaires

  1. [XL-2003] Saisie automatique dans une colonne
    Par treizehubert dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/10/2013, 10h57
  2. [MySQL] Calcul et surtout insertion automatique de l'age dans une colonne nommee age
    Par melikmike dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 06/12/2012, 23h51
  3. Calcul automatique dans une list
    Par todoweb dans le forum SharePoint
    Réponses: 2
    Dernier message: 21/10/2009, 17h29
  4. Calcul d'une occurence dans une colonne.
    Par Julieta dans le forum Excel
    Réponses: 2
    Dernier message: 11/06/2007, 15h45
  5. [VB.NET] Calculs dans une colonne d'un datagridview
    Par boulete dans le forum Windows Forms
    Réponses: 3
    Dernier message: 31/03/2006, 15h11

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