Prélèvement de donnée

adr95

XLDnaute Occasionnel
Bonjour,

Je souhaiterais récupérer les données en fond vert de la feuille 1 qui sont repérés par une case une ligne au dessus et en colonne A par Item dans la feuille 2. J'ai déjà commencé une macro mais elle ne me copie un peu n'importe quoi (enfin c'est plutôt moi qui est mal programmé).

Merci de votre aide
 

Pièces jointes

  • test.xlsm
    15.5 KB · Affichages: 60
  • test.xlsm
    15.5 KB · Affichages: 67
  • test.xlsm
    15.5 KB · Affichages: 72

Robert

XLDnaute Barbatruc
Repose en paix
Re : Prélèvement de donnée

Bonjour Adr, bonjour le forum,

Désolé Adr mais j'ai pas compris ta question et je pense que tu risques de ne pas avoir beaucoup de réponses si tu laisses ton fil comme ça. Ce que je te propose c'est dans un fichier exemple tu nous montres comme c'était avant dans les onglets Feuil1 et Feuil2 puis, comme tu souhaiterais que ça devienne après traitement toujours dans les onglets Feuil1 et feuil2...
 

adr95

XLDnaute Occasionnel
Re : Prélèvement de donnée

Bonjour,

Voilà en PJ ce que je souhaite est dans l'onglet 3 ce que ma macro fait actuellement onglet 2 et données de départ onglet 1. J'espère que c'est plus claire
 

Pièces jointes

  • test.xlsm
    15.8 KB · Affichages: 56
  • test.xlsm
    15.8 KB · Affichages: 58
  • test.xlsm
    15.8 KB · Affichages: 59

Robert

XLDnaute Barbatruc
Repose en paix
Re : Prélèvement de donnée

Bonjour Adr, bonjour le forum,

Essaie comme ça :

Code:
Sub Macro1()
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim dest As Range 'déclare la variable dest (cellule de DESTination)

Sheets("Feuil2").Range("D8").CurrentRegion.Clear 'efface les anciennes données de l'onglet "Feuil2"
With Sheets("Feuil1") 'prend en compte l'onglet "Feuil1"
    dl = .Cells(Application.Rows.Count, 4).End(xlUp).Row 'définit la dernière ligne éditée de la colonne D
    Set pl = .Range("D2:D" & dl) 'définit la plage pl
End With 'fin de la prise en compte de l'onglet "Feuil1"
For Each cel In pl 'boucle sur toutes les cellules cel de la plage pl
    If cel.Interior.ColorIndex = 4 And cel.Offset(-1, -3).Value = "Item" Then 'condition : si la cellule à un fond "vert brillant" et si la cellule de la colonne A une ligne au dessus contient "item"
        With Sheets("Feuil2") 'prend en compte l'onglet "Feuil2"
            'définit la cellule de destination dest (D8 si d8 est vide, sinon la première cellule vide de la colonne D)
            Set dest = IIf(.Range("D8").Value = "", .Range("D8"), .Cells(Application.Rows.Count, 4).End(xlUp).Offset(1, 0))
        End With 'fin de la prise en compte de l'onglet "Feuil2"
        dest.Value = cel.Value 'récupère la valeur de la cellule cel dans dest
    End If 'fin de la condition
Next cel 'prochaine cellule cel dela boucle
End Sub
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Prélèvement de donnée

Bonjour Adr, bonjour le forum

En pièce jointe ton fichier. Dans l'onglet Feuil2 j'ai rajouté un bouton Macro qui lance la procédure Macro1 du module Module1. Est-ce que rien ne se passe quand tu cliques dessus ?...
 

Pièces jointes

  • Adr_v01.xls
    41.5 KB · Affichages: 68

Discussions similaires

Statistiques des forums

Discussions
312 448
Messages
2 088 507
Membres
103 873
dernier inscrit
Sabin