If cellule1=cellule 2 then next Ifnot Delete
Résolu
Ljonnier
Messages postés
31
Date d'inscription
Statut
Membre
Dernière intervention
-
Ljonnier Messages postés 31 Date d'inscription Statut Membre Dernière intervention -
Ljonnier Messages postés 31 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Dans le fichier ci-joint j'ai une grande base de donnee avec plusieurs indices boursiers. Je souhaite prendre comme valeur de reference le cours de la once d'or XAU Currency. La quotation commence au 01/01/2005 et s'arrete au 23 aout 2016. Mon soucis c4est aue j'aimerais faire correspondre les quotations de XAU aux autre quotations.
Je m'explique avec un exemple concret;
24/03/2005 425.47 24/03/2005 3026
25/03/2005 424.88 29/03/2005 3017
28/03/2005 426.1 30/03/2005 3027
29/03/2005 426.45 31/03/2005 3003
Les deux premiere colonne ( date + valeur) correspondent a XAU, les deux colonnes suivantes correspondent a VG1 index.
On peux voir que le decalage se fait apres le 24 Mars, il suffirait juste de supprimer le 25/03 et le 28/03 de la premiere colonne avec leur quotes correspondantes pour retrouver l'equilibre et donc arriver a ca :
24/03/2005 425.47 24/03/2005 3026
29/03/2005 426.45 29/03/2005 3017
30/03/2005 427.95 30/03/2005 3027
31/03/2005 428.24 31/03/2005 3003
Et j'ai ce probleme sur des collonnes de 2800 cellules, et j'en ai un peu plus de 60 donc je ne peux pas le faire manuellement..
Auriez vous, dans l'ideal, un code VBA permettant de me mettre a niveau mes colonnes ?
voici le fichier avec toute mes donnees:
https://www.cjoint.com/c/FIcnfxQnhf7
D'avance merci
Dans le fichier ci-joint j'ai une grande base de donnee avec plusieurs indices boursiers. Je souhaite prendre comme valeur de reference le cours de la once d'or XAU Currency. La quotation commence au 01/01/2005 et s'arrete au 23 aout 2016. Mon soucis c4est aue j'aimerais faire correspondre les quotations de XAU aux autre quotations.
Je m'explique avec un exemple concret;
24/03/2005 425.47 24/03/2005 3026
25/03/2005 424.88 29/03/2005 3017
28/03/2005 426.1 30/03/2005 3027
29/03/2005 426.45 31/03/2005 3003
Les deux premiere colonne ( date + valeur) correspondent a XAU, les deux colonnes suivantes correspondent a VG1 index.
On peux voir que le decalage se fait apres le 24 Mars, il suffirait juste de supprimer le 25/03 et le 28/03 de la premiere colonne avec leur quotes correspondantes pour retrouver l'equilibre et donc arriver a ca :
24/03/2005 425.47 24/03/2005 3026
29/03/2005 426.45 29/03/2005 3017
30/03/2005 427.95 30/03/2005 3027
31/03/2005 428.24 31/03/2005 3003
Et j'ai ce probleme sur des collonnes de 2800 cellules, et j'en ai un peu plus de 60 donc je ne peux pas le faire manuellement..
Auriez vous, dans l'ideal, un code VBA permettant de me mettre a niveau mes colonnes ?
voici le fichier avec toute mes donnees:
https://www.cjoint.com/c/FIcnfxQnhf7
D'avance merci
A voir également:
- If cellule1=cellule 2 then next Ifnot Delete
- Hiberfil.sys delete - Guide
- Supercopier 2 - Télécharger - Gestion de fichiers
- Juste delete me - Guide
- Excel cellule couleur si condition texte - Guide
- Proteger cellule excel - Guide
4 réponses
re,
ci joint proposition
durée pour 1 indice(auc et index)= env. 0,08 secondes
attention
extraire le zip et non l'ouvrir
http://www.cjoint.com/c/FImpPNSAGJR
code en position "essai" pour 1 indice à supprimer à la livrason
position "toutes la feuille" pr^te ' enlever les apostrohes
bonne soirée
Michel
ci joint proposition
durée pour 1 indice(auc et index)= env. 0,08 secondes
attention
extraire le zip et non l'ouvrir
http://www.cjoint.com/c/FImpPNSAGJR
code en position "essai" pour 1 indice à supprimer à la livrason
position "toutes la feuille" pr^te ' enlever les apostrohes
bonne soirée
Michel
Salut.
Il est tout à fait possible de faire un "couper-coller" des 2 colonnes et ce, 70 fois > la preuve, je l'ai fait: cela m'a pris moins de 30 minutes !!!
Cela vous intéresse-t-il ??
@+
Il est tout à fait possible de faire un "couper-coller" des 2 colonnes et ce, 70 fois > la preuve, je l'ai fait: cela m'a pris moins de 30 minutes !!!
Cela vous intéresse-t-il ??
@+
J'ai essaye de faire le code suivant
Sub test()
Dim cell As Range
Dim I As Long
For Each cell In Range("E1:E3000")
For I = 1 To 3000
If cell.Value = "OK" Then
Else
End If
If cell.Value = "NO" Then
Range("A" & I, "B" & I).Select
Selection.Delete Shift:=xlUp
End If
Range("E2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-4]=RC[-2],""OK"",""NO"")"
Selection.AutoFill Destination:=Range("E2:E42"), Type:=xlFillDefault
Range("E2:E3050").Select
Next I
Next cell
End Sub
Mais ca ne fonctionne pas je pense que je passe a cote d'un petit detail, je ne maitrise pas bien les loop mais peut etre qu'avec un Do While ca pourrait passer ?
Voici le fichier en piece jointe
https://www.cjoint.com/c/FIjpxtkR0N7
D'avance merci
Sub test()
Dim cell As Range
Dim I As Long
For Each cell In Range("E1:E3000")
For I = 1 To 3000
If cell.Value = "OK" Then
Else
End If
If cell.Value = "NO" Then
Range("A" & I, "B" & I).Select
Selection.Delete Shift:=xlUp
End If
Range("E2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-4]=RC[-2],""OK"",""NO"")"
Selection.AutoFill Destination:=Range("E2:E42"), Type:=xlFillDefault
Range("E2:E3050").Select
Next I
Next cell
End Sub
Mais ca ne fonctionne pas je pense que je passe a cote d'un petit detail, je ne maitrise pas bien les loop mais peut etre qu'avec un Do While ca pourrait passer ?
Voici le fichier en piece jointe
https://www.cjoint.com/c/FIjpxtkR0N7
D'avance merci
bonjour
si j'ai pigé ton pb
on a par ex dans ton classeur
tu voudrais à la place ?
alors à quoi correspond "OK" et "NO" ?
merci de répondre rapidement car tu sembles filer tes problèmes le vendredi pm pour qu'on bosse pour toi le WE ?
dans l'attente
si j'ai pigé ton pb
on a par ex dans ton classeur

tu voudrais à la place ?

alors à quoi correspond "OK" et "NO" ?
merci de répondre rapidement car tu sembles filer tes problèmes le vendredi pm pour qu'on bosse pour toi le WE ?
dans l'attente
Bonjour Michel, non ce n'etait pas poste pour que ca soit fait le week end, je cherche avant tout a comprendre comment faire ca donc si c'est toujours pas finis a la fin de la semaine prochaine c'est pas grave j'ai le temps.
J'ai poste le soir parce que je bosse dessus la journee et j'essaie de trouver des solutions jusqu'au moment ou je bloque.
L'exemple que tu as fait, c'est exactement ca, j'aimerais arriver a avoir une correspondance des dates pour l'indice XAU + l'autre indice (on va dire indice X)
Les OK et NO sont en faite une correspondance je fais un "Si Case A1 = case C1 alors OK on passe a la suivante, si case A1 different de C1 alors suppression de A1 et B1, puis recalculer la formule Si.
J'ai poste le soir parce que je bosse dessus la journee et j'essaie de trouver des solutions jusqu'au moment ou je bloque.
L'exemple que tu as fait, c'est exactement ca, j'aimerais arriver a avoir une correspondance des dates pour l'indice XAU + l'autre indice (on va dire indice X)
Les OK et NO sont en faite une correspondance je fais un "Si Case A1 = case C1 alors OK on passe a la suivante, si case A1 different de C1 alors suppression de A1 et B1, puis recalculer la formule Si.
Je te remercie, j'ai un peu avance dessus ce matin et y'a aussi une autre solution mais qui manuellement prend des heures c'est de faire un vlookup qui identifie les dates absentes ou non et ca donnerait donc un Si N#A apparait dans la case A2 alors supprimer B2 et C2
=VLOOKUP(B2,$D$2:$D$3038,1,FALSE)
=VLOOKUP(B2,$D$2:$D$3038,1,FALSE)
EDIT : Alors la un grand respect et un grand merci c'est exactement ce que je cherchais a faire et ca depasse mes esperances. Il me reste a comprendre comment tu as fait maintenant, merci beaucoup !!!!