Macro Remplaçant des valeurs en fonctions des hypothèses

Excusez moi je me suis trompé de fichier.

Voici le bon

10monexemple.xlsx (136.55 Ko)
8mnexple.xlsx (186.43 Ko)

Bonjour

Tu écris :

Excusez moi je me suis trompé de fichier.

Et tu es sûr de ne rien avoir oublié ?

Dire bonjour par exemple.

Et exposer clairement en quoi on pourrait t'aider ?

Bye !

Oui j'ai eu des soucis de comptes et de connextion. Mon message d'origine est celui là : " Bonjour à tous

J'aurais besoin de vos lumière !!! J'ai une colone de Date, de prix et de jours fériés de l'année x dans la Feuil1. Une colone de Date de prix et de jours férié dans la Feuil2 de l'année y . Je souhaire réalisé une macro qui va chercher et faire correspondre Les valeurs de deux colones des jours férié des année x et y. Pour ensuite remplacer la valeurs du prix du jour férié x dans la Feuil1 par la valeur du prix correspondante du jour férié y de la Feuil2 . Pour être plus clair j'ai joint un petit fichier excel qui récapitule tout mon petit soucis en détail.

Merci à vous !!!!"

Du coup le fichier correspondant est le fichier MnExple. Ya une petite zone de de texte qui entre un peu plus dans les détails.

Merci infiniment

voilà le code que j'ai essayé d'élabore mais bon... ça ne fonctionne pas.

Merci

Public Sub test()

Dim oShFeuil2 As Worksheet
Dim oShFeuil1 As Worksheet
Dim bFin As Boolean
Dim iLig As Integer
Dim dtDeb As Date
Dim iLigEcrite As Integer
Set oShFeuil1 = Worksheets("Feuil1")
Set oShFeuil2 = Worksheets("Feuil2")

dtDeb1 = oShFeuil2.Range("H2").Value
dtDeb2 = oShFeuil2.Range("H3").Value
dtDeb3 = oShFeuil2.Range("H4").Value
dtDeb4 = oShFeuil2.Range("H5").Value
dtDeb5 = oShFeuil2.Range("H6").Value
dtDeb6 = oShFeuil2.Range("H7").Value
dtDeb7 = oShFeuil2.Range("H8").Value
dtDeb8 = oShFeuil2.Range("H9").Value
dtDeb9 = oShFeuil2.Range("H10").Value
dtDeb10 = oShFeuil2.Range("H11").Value
dtFin = oShFeuil1.Range("H12").Value

iLigEcrite = 12

bFin = False
iLig = 2
While Not bFin
    If DateDiff("d", dtDeb1, oShFeuil2.Range("A" & iLig).Value) = 0 Then
        If DateDiff("d", dtDeb2, oShFeuil2.Range("A" & iLig).Value) = 0 Then
            If DateDiff("d", dtDeb3, oShFeuil2.Range("A" & iLig).Value) = 0 Then
                If DateDiff("d", dtDeb4, oShFeuil2.Range("A" & iLig).Value) = 0 Then
                    If DateDiff("d", dtDeb5, oShFeuil2.Range("A" & iLig).Value) = 0 Then
                        If DateDiff("d", dtDeb6, oShFeuil2.Range("A" & iLig).Value) = 0 Then
                            If DateDiff("d", dtDeb7, oShFeuil2.Range("A" & iLig).Value) = 0 Then
                                If DateDiff("d", dtDeb8, oShFeuil2.Range("A" & iLig).Value) = 0 Then
                                    If DateDiff("d", dtDeb9, oShFeuil2.Range("A" & iLig).Value) = 0 Then
                                        If DateDiff("d", dtDeb10, oShFeuil2.Range("A" & iLig).Value) = 0 Then
                                            If DateDiff("d", dtFin, oShFeuil2.Range("A" & iLig).Value) = 0 Then

    oShFeuil1.Range("F" & iLigEcrite).Value = oShFeuil2.Range("B" & iLig).Value
    iLigEcrite = iLigEcrite + 1
                                            End If
                                        End If
                                    End If
                                End If
                            End If
                        End If
                    End If
                End If
            End If
        End If
    End If
    iLig = iLig + 1

    If oShFeuil2.Range("A" & iLig).Value = "" Then
    bFin = True
    End If
    Wend

    Set oShFeuil2 = Nothing
    Set oShFeuil1 = Nothing

    MsgBox "test ok !", vbInformation

    End Sub

Bonjour

Je ne comprends pas très bien : Est-il normal que sur la feuille 2 les dates de la colonne A soient toute de 2013 alors que celles le la colonne H soient de 2014 et 2015 ? La recherche ne donnera jamais rien !

A te relire.

Bye !

olalala tu as raison je me relis. Mais apparemment tu as raison. Je doutais de mon code parce que je ne me sens pas encore assez à l'aise aussi. Le code te semble correcte donc?

Merci encore

en effet les jours de la colonne H représente les jours férie de la colonne A dans la feuille 2. je voulais prendre les prix correspondant a ces dates les coller exactement l endroit du jour férie de l'année suivante dans ma feuil1. après vérifications et changement ma macro ne fonctionne toujours pas

Tu écris :

...après vérifications et changement ma macro ne fonctionne toujours pas

Alors envoie ton fichier "après changement" !

Oui désolé, voici le fichier modifier. J'ai aussi Modifié les zones de textes pour clarifier mes explications.

Merci beaucoup

Bonjour

Tu écris , dans ton 2° exemple, sur la feuille 2 :

Pour le 21/04/2014 de la colone H(qui est le lundi de paque).

CHercher cette date dans la colone A. Selectionner les 24 prix correspondant à cette date. Ensuite Copier ses prix pour les remplacer dans la colone F de la feuil1 à la date (même ligne) que le 28/03/2016(Lundi de paque à pour 2016) etc etc etc

Problème : dans ta Feuil1, il n’y a aucune date de 2016

Est-ce normal ?

Re-bonjour,

En fait dans mon fichier original cette date existe. Seulement je ne peut pas le mettre en pièce jointe sur le forum car il est trop volumineux >300K. J'ai du donc supprimer certaine date.

Est-ce que tu peux me donner une idée du code VBA? Au pire j'adapterai ensuite en fonction de mon fichier original.

Sinon est-ce que je peux te communiquer mon fichier original par un autre moyen, de manière à facilité les choses?

En gros l'idée globale

-dans la Feuil2: identifier les jours fériés (colonne H), rechercher ce jour férié correspondant (colonne A), et sélectionner les prix correspondants à ces dates (colonne B).

-ensuite dans la Feuil1 : Trouver le jour férié correspondant (Colonne L, d'une année sur l'autre les dates peuvent changer : ex pâques), rechercher ce jour férié (colonneD). Placer sur la même ligne les prix (venant de colonne B, Feuil2) dans la colonne F à coté de du jour férié choisi.

Encore Merci pour ta patience , j'espère que je suis plus clair..

Rechercher des sujets similaires à "macro remplacant valeurs fonctions hypotheses"