Incrémentation + comparaison avec plusieurs conditions

nayz

XLDnaute Nouveau
Bonjour,

Là les amis j'ai besoin d'une bête d'Excel (2003) ou de VBA! Mais je crois que je ne devrais pas avoir de mal à en trouver sur le forum. Vous m'avez sauvé plusieurs fois je dois avouer.
Donc voici un nouveau challenge :

Dans le fichier j'ai une première feuille ou je charge des données à partir d'un fichier txt. Il s'agit de taux de change.
Sur une deuxième feuille, j'ai à peu près le même format que sur la première. A la différence qu'il n'y a que les taux qui m'intéressent et les dates correspondantes.
Ce que j'aimerai faire c'est ceci :

A partir de la première feuille, j'aimerai transférer les taux de change sur la deuxième feuille en fonction de 2 paramètres (la date et le nom de la devise (HUF, EUR...).
Le premier problème, c'est que sur la première feuille, le nom des devises est précédé par un chiffre. Il faut donc contourner ce premier problème (en ne prenant que les 3 derniers caractères par exemple).
Le deuxième c'est qu'il y a des dates qui manquent sur la première feuille, donc j'aimerai qu'à chaque fois qu'un jour manque sur la Feuil1, sur la feuil2 on reprend les données du jour antérieur sur ces dates manquantes.

Vous voyez à peu près?

Je sais que c'est un peu tordu, donc si vous avez besoin d'une précision n'hésitez pas à me demander.
De mon côté, je suis entrain de travailler sur un code VBA utilisant Index Equiv, mais je galère la vérité.
 

grodep

XLDnaute Occasionnel
Re : Incrémentation + comparaison avec plusieurs conditions

toujours pas: trop volumineux peut être? vérifie le poids maximum autorisé.
edit: suis décidément trop en retard en ce moment, puisque ton fichier est désormais accessible...
 

job75

XLDnaute Barbatruc
Re : Incrémentation + comparaison avec plusieurs conditions

Bonjour nayz, re grodep :)

Formule en Sheet2!B2 à tirer à droite et vers le bas :

Code:
=INDEX(Sheet1!$A:$AI;EQUIV($A2;Sheet1!$A:$A);EQUIV("*"&B$1;Sheet1!$4:$4;0))

La Sheet1 doit être triée par dates croissantes.

Edit : je joins le fichier zippé...

A+
 

Pièces jointes

  • Import Change(1).zip
    31.8 KB · Affichages: 23
Dernière édition:

job75

XLDnaute Barbatruc
Re : Incrémentation + comparaison avec plusieurs conditions

Re,

Je n'avais pas fait attention, mais il y a des dates en colonnes A de Sheet1 qui ne sont pas des dates.

Donc selectionner la colonne A de la Sheet1, touche Ctrl+H => Rechercher : ".Aug " Remplacer par : "-août-". Attention à l'espace après Aug.

Et si l'on veut transformer les taux en nombres, selectionner tout le tableau en Sheet1, touche Ctrl+H => Rechercher : "." Remplacer par : "," Edit : mettre d'abord tout le tableau au format nombre avec 3 décimales

Pour automatiser ces opérations (simples), utiliser l'enregistreur de macro qui donnera le code.

A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Incrémentation + comparaison avec plusieurs conditions

Re,

Maintenant une solution par macro, dans le code de la feuille :

Code:
Private Sub CommandButton1_Click()
Dim plage As Range
Application.ScreenUpdating = False
Sheets("Sheet1").Columns(1).Replace ".Aug ", "-août-", LookAt:=xlPart
Range("B2:IV65536").ClearContents
Set plage = Intersect(Range("B2:IV65536"), ActiveSheet.UsedRange)
If Not plage Is Nothing Then
  plage.FormulaR1C1 = "=INDEX(Sheet1!C1:C35,MATCH(RC1,Sheet1!C1),MATCH(""*""&R1C,Sheet1!R4,0))"
  plage = plage.Value
  plage.Replace ".", "."
End If
End Sub

Fichier (2) joint.

A+
 

Pièces jointes

  • Import Change(2).zip
    38.5 KB · Affichages: 28
Dernière édition:

Statistiques des forums

Discussions
312 103
Messages
2 085 322
Membres
102 862
dernier inscrit
Emma35400