Copier sous conditions

Bonjour a tous,

Je fais appel a votre savoir car ma macro ne fonctionne pas et malgré mes recherches je ne comprends pas pourquoi.

En fait, j'ai 4 feuilles + une a remplir.

Mais je cherche d'abord a faire ma macro pour la 1e feuille.

Explications :

La feuille EA contient pour chaque date et demi heure une mesure de MarginalPrice.

La feuille Resume contient chaque date et demi heure et je voudrais copier le prix correspondant a chacune de ces heures dans la colonne correspondante.

Vous comprendrez bien mieux avec les images

Le besoin est tel puisque j'ai 4 feuilles de relevés (EA, EP, Wind Production et Demand) et je ne peux pas simplement faire un copier coller puisque je ne suis pas sure que pour chaque relevé, toutes les dates et demi heure sont bien dans le même ordre et si elles existent !

Mon fichier excel est beaucoup trop lourd pour le mettre ici. mais voici des images et le code macro

Sub rassembler()

Dim nbl As Long
Dim nblEA As Long
'Dim nblEP2 As Long
'Dim nblWind As Long
'Dim nblDemand As Long
Dim a As Long
Dim b As Long

Worksheets("EA").Activate
nblEA = ActiveSheet.UsedRange.Rows.Count
'Worksheets("EP2").Activate
'nblEP2 = ActiveSheet.UsedRange.Rows.Count
'Worksheets("Wind production").Activate
'nblWind = ActiveSheet.UsedRange.Rows.Count
'Worksheets("Demand").Activate
'nblDemand = ActiveSheet.UsedRange.Rows.Count
Worksheets("Resume").Activate
nbl = ActiveSheet.UsedRange.Rows.Count

For i = 2 To 10
    a = Worksheets("Resume").Cells(i, "A").Value
    b = Worksheets("Resume").Cells(i, "B").Value
    Worksheets("EA").Activate
    For j = 2 To 10
        If Worksheets("EA").Cells(j, "D").Value = a And Worksheets("EA").Cells(j, "F").Value = b Then
            Worksheets("EA").Cells(j, "H").Copy
            Worksheets("Resume").Cells(i, "C").Paste
            'ActiveSheet.Paste
        End If
    Next j
Next i

End Sub

Je vous remercie par avance pour votre aide !

feuille ea feuille resume

Bonjour,

Difficile d’effectuer un test sans classeur.

Tu peux commencer par modifier ta déclaration de la variable b qui est censée représenter le nombre d’heures dans la feuille "Resume".

Cette variable ne peut pas être de type Long, soit un nombre entier alors que l’heure est constituée de la partie décimale du numéro de série.

Exemple : 6h00 vaut 0.25

Essaie avec Dim b As Double

A+

Merci pour la reponse

Cela ne fonctionne pas plus...

A la fin, j'ai la feuille EA active et la case Q3 selectionnee. Allez savoir pourquoi....

Je ne peux pas t'en dire plus sans voir un exemple de ton classeur avec quelques données.

A+

Mais il y a les photos ...

Je ne peux pas mettre le fichier, il est trop lourd, le site web ne me l'autorise pas

Mais il y a les photos ...

Si je comprends bien, tu envoies la photo de ta voiture au garagiste pour réparation.

Et ça roule ? .

Plus sérieusement, il faut simplement un exemple de ton classeur avec quelques lignes de données.

De plus, seules les feuilles "Resume" et 'EA" sont utiles.

A+

11book1.xlsm (17.54 Ko)

Dans la feuille EA, les valeurs de la colonne Time sont des heures .

Si tu passes cette colonne au format standard, tu obtiens des valeurs telles que 0,04167, 0,0625, etc.

Dans la feuille Resume, les valeurs de la colonne Time sont des dates au format heure .

Si tu passes cette colonne au format standard, tu obtiens des valeurs telles que 40179, 40179,02, etc.

Il faut donc modifier ces données pour les rendre comparables.

Dans l’exemple joint, les données à comparer sont au format date.

13book1-1.xlsm (18.35 Ko)

A+

Un grand merci a toi !

Je ne pensais pas que le probleme venait simplement d'une difference de format !

A bientot

Rechercher des sujets similaires à "copier conditions"