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 :

VBA : concordance date


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
    Mars 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2013
    Messages : 16
    Par défaut
    Bonjour à tous et merci par avance de votre aide.

    Mon objectif est celui ci : j'aimerais faire concorder les dates de mon fichier afin de faire des calculs de rendements, je m'explique :
    Dans la colonne A et D il y a des dates triés dans l'ordre croissant.
    La colonne B correspond au close(prix) pour la date de la colonne A
    La colonne E correspond au close(prix) pour la date de la colonne D

    Afin que mes calculs soient correct, il faut que les dates concordent, ainsi si dans la colonne A j'ai le 5 janvier et dans la colonne E le 11 janvier, mon calcul n'aura pas de sens, ces deux dates doivent concorder
    Donc : A = 13 janvier et B = 13 janvier
    Il faut donc effacer la date ainsi que le close de la date dite "inférieure"
    J'ai donc crée ce code qui ne fonctionne pas
    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
    18
    Sub synchronisation()
     
    For i = 1 To 65000
    While Cells(1 + i, 2) <> Cells(1 + i, 4)
        If Cells(i, 2) < Cells(i, 4) Then
        Cells(i, 2).Delete& Cells(i, 3)
     
            Else
                If Cells(i, 2) > Cells(i, 4) Then
                    Cells(i, 4).Delete& Cells(i, 3)
     
                    End If
                        i = i + 1
     
                            Wend
                                Next
     
    End Sub
    J'espère avoir été clair, dans le cas contraire je m'explique volontiers, je joins mon fichier en pièce jointe,

    merci d'avance,

    jean luc

    PS : J'ajoute une image du rendu attendu car je n'arrive pas a joindre le fichier !
    Il me dit : fichier non valide, c'est un fichier xlsm

    A gauche de A a E le ficher de base et de G a K le rendu attendu !
    En faite, cela doit effacer non seulement la date mais également le close en décalant les cellules vers le haut !
    je pense que ce sera plus clair sur la photo

    Merci
    Images attachées Images attachées  

  2. #2
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    Essaie comme cela
    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 test()
    Dim C As Range
    Dim Derlig As Long, i As Long
        Derlig = Range("A" & Rows.Count).End(xlUp).Row
        For i = Derlig To 2 Step -1
            Set C = Columns(4).Find(Range("A" & i).Value, LookIn:=xlValues, lookat:=xlWhole)
            If C Is Nothing Then Range("A" & i).Resize(1, 2).Delete Shift:=xlUp
        Next i
        Derlig = Range("D" & Rows.Count).End(xlUp).Row
        For i = Derlig To 2 Step -1
            Set C = Columns(1).Find(Range("D" & i).Value, LookIn:=xlValues, lookat:=xlWhole)
            If C Is Nothing Then Range("D" & i).Resize(1, 2).Delete Shift:=xlUp
        Next i
    End Sub
    Cordialement.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2013
    Messages : 16
    Par défaut
    Cela fonctionne merci beaucoup

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

Discussions similaires

  1. [vba-e] Date et valeur de cellule
    Par max_c dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/09/2006, 18h02
  2. [VBA] Requête + date pour travailler avec des recordsets
    Par snoopy69 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 14/08/2006, 15h15
  3. [VBA-E]date dans formule
    Par illight dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/06/2006, 11h16
  4. [VBA et DATE]problème de requete
    Par herendel dans le forum Access
    Réponses: 5
    Dernier message: 16/05/2006, 10h54
  5. [VBA-E] Dates avec année à deux chiffres
    Par BBe8127 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/09/2005, 17h23

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