VBA : concordance date

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

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

9classeur1.xlsm (49.82 Ko)

Bonjour

Essayes cette macro

Option Explicit

Sub Efface()
Dim J As Long

  Application.ScreenUpdating = False
  For J = 2 To Range("A" & Rows.Count).End(xlUp).Row
    If Cells(J, "A") < Cells(J, "D") Then
      Cells(J, "A").Resize(1, 2).ClearContents
    ElseIf Cells(J, "A") > Cells(J, "D") Then
      Cells(J, "D").Resize(1, 2).ClearContents
    End If
  Next J
End Sub

Bonjour et merci pour la réponse.

Malheureusement cela ne fonctionne pas ! Cela efface bien quelques lignes mais pas correctement. Pour la colonne de droite, après 2000 cela efface tout alors que je devrais garder ces données. Il y a également le fait que cela a effacé dans la première colonne le 13 janvier alors qu'il aurait du le laisser.

Je pense être prêt avec mon code, mais il ne s'execute pas car Excel me dit : While sans wend, et pourtant il est bien présent !

Bonjour

Diantre, Damned aurais je commis une bévue ?

jeanluc17 a écrit :

Pour la colonne de droite, après 2000 cela efface tout alors que je devrais garder ces données

Expliques un peu plus, la macro compare les 2 dates et efface la date inférieure comme tu l'as précisé

Peut-être que je me suis trompé mais dis moi : A cette ligne j'avais ça et toi tu as effacé ça

J'ai mal du m'exprimer Une image est jointe pour expliquer le rendu attendu.

A gauche de A a E le ficher de base et de G a K le rendu attendu !

rendu

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

Bonjour

Pas plus clair

Pourquoi A4 est supprimé : D2 à bien la même date

Une autre règle ou alors une erreur ?

Rechercher des sujets similaires à "vba concordance date"