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 :

Décrémentation de cellules


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 41
    Par défaut Décrémentation de cellules
    Bonjour
    Encore un autre probléme : j'ai un tableau Excel dans une de ces colonnes je veux insérer une date à la dernière ligne et en suite la décrémenter pour remplir le reste de la colonnes mais je ne veux pas faire ça manuellement mais en code VBA. Est ce que Vous pouvez m'aider SVP??? Merci

  2. #2
    Membre confirmé Avatar de biggione
    Inscrit en
    Juillet 2006
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 99
    Par défaut
    cherche avec les mots " derniere ligne trouver ".
    en effet il y a dejà un sujet pour trouver la dernière ligne et tu mémorise le numéro de ligne.
    une fois que tu l'a tu fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    i = numéro de la dernière ligne
    while i > 0
         i=i-1
         'instruction à faire sur la case
    Wend

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 41
    Par défaut
    Citation Envoyé par biggione
    cherche avec les mots " derniere ligne trouver ".
    en effet il y a dejà un sujet pour trouver la dernière ligne et tu mémorise le numéro de ligne.
    une fois que tu l'a tu fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    i = numéro de la dernière ligne
    while i > 0
         i=i-1
         'instruction à faire sur la case
    Wend
    justement ce que je cherche c'est l'instruction afaire sur la case

  4. #4
    Membre confirmé Avatar de biggione
    Inscrit en
    Juillet 2006
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 99
    Par défaut
    ben tu ve faire quoi exactement?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 41
    Par défaut
    Citation Envoyé par biggione
    ben tu ve faire quoi exactement?
    ce que je veux faire c'est décrémenter la date inserer dans la derniere ligne



    mars 2006
    avril 2006
    mai 2006
    juin 2006 c'est ma derniere ligne et je veux avoir le reste mai 2006 ... dans le reste de ma colonne, j'espére que je suis claire. merci

  6. #6
    Membre confirmé Avatar de biggione
    Inscrit en
    Juillet 2006
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 99
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Function ModifDateFichier(DateReporting As Date, xlSheet As Excel.Worksheet) As Integer
    Dim i As Integer
    Dim DateSuiv As Date
     i = 26
    'on insere la date de reporting dans la dérniére ligne
    xlSheet.Cells(1, 26) = DateReporting
     
    while i > 0
         i=i-1
         xlSheet.range("A" & i).value = Date -1      
    Wend

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Par défaut
    Hm...

    biggione tu devrais TESTER tes codes avant de poster à tout va

    tu à compris ce qu'il voulais au moins?

    Date tu sais que ca renvoi la date d'aujourd'hui ??

    si tu met date-1 dans chaque cellule tu sais que tu auras la date d'aujourdhui moins un jour dans les cellules???

    bon.. voilà amka

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Macro1()
     
        i = 18 'derniere ligne
        While i > 1
            i = i - 1
            Cells(i, 1) = DateSerial(Year(Cells(i + 1, 1)), Month(Cells(i + 1, 1)) - 1, Day(Cells(i + 1, 1)))
        Wend
     
    End Sub

    Petite explication du code. chaque cellule au dessus de la derniere remplie on reprend la valeur de la derniere remplie à laquelle on retire 1 au mois ( le Month -1 ) si c'est pas clair je peux expliquer mieux

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 41
    Par défaut
    Citation Envoyé par biggione
    ben tu ve faire quoi exactement?
    voila ce que j ai fais jusqu'à mnt:
    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
     
    Function ModifDateFichier(DateReporting As Date, xlSheet As Excel.Worksheet) As Integer
    Dim i As Integer
    Dim DateSuiv As Date
     i = 26
    'on insere la date de reporting dans la dérniére ligne
    xlSheet.Cells(1, 26) = DateReporting
     
    While i > 13
     
         If IsDate(xlSheet.Cells(1, i)) Then
            DateSuiv = xlSheet.Cells(1, i)
            i = i - 1
            xlSheet.Cells(1, i) = DateSuiv - 1
        End If
     
    Wend
    mais au lien de décrémenter un mois entiers , ça décrémente jour par jours

    01/06/2006 donne à la celleule précédente 31/05/2006 et moi je veux 01/05/2006

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

Discussions similaires

  1. TDBGRID - Couleur de fond d'une seule cellule
    Par cgo dans le forum Bases de données
    Réponses: 5
    Dernier message: 11/09/2009, 10h16
  2. [OLE Excel] Aller jusqu'à la dernière cellule rempli
    Par JBrek dans le forum API, COM et SDKs
    Réponses: 9
    Dernier message: 07/08/2009, 19h21
  3. [VBA-E] Fonction sum() dans une cellule
    Par Gonzo dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/12/2002, 10h18
  4. [] [Excel] Fusionner des cellules
    Par SamyD dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/12/2002, 18h37
  5. [VBA-E] [Excel] Protection d'une plage de cellules
    Par fikou dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/11/2002, 11h28

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