Recherche et Copie Automatique

Résolu
Reizo Messages postés 17 Statut Membre -  
Reizo Messages postés 17 Statut Membre -
Bonjour,

J'ai un fichier excel avec 6 feuilles, pour le moment on ne va parler que de deux feuilles :

Voila ce que je voudrais faire : j'ai une colonne sur une feuille dans laquelle j'ai des références de produits et je veux qu'à chaque fois qu'une de mes références est la même qu'une autre dans ma deuxième feuille, je puisse copier la valeur contenue dans une autre colonne de cette feuille sur une autre colonne (sur la même ligne hein ^^) de ma premère feuille, j'avais pensé utiliser une macro pour parcourir toute ma feuille mais je suis un peu largué en VB donc je pose ma question ici.
Si ce problème est réglé il faudrait que je fasse la somme de toutes les valeurs transférées d'une feuille à une autre, mais ça je connais la fonction.

Merci de votre aide, Cordialement, Reizo.

2 réponses

  1. Reizo Messages postés 17 Statut Membre
     
    J'ai plus ou moins réglé le problème de la copie maintenant j'aimerais juste savoir comment effectuer la recherche sur ma première feuille grâce à une macro, voila mes deux versions de code si cela peut vous aider :

    Version 1 :

    Sub Recherche()

    Dim MotCherche, L, C, InL, InC, OutL
    Dim Origine, Destination
    Set Origine = Workbooks(1).Sheets(1)
    Set Destination = Workbooks(1).Sheets(5)
    MotCherche = "WL250-P430 S6010610"
    InC = Origine.Cells.SpecialCells(xlCellTypeLastCell).Row
    InL = Destination.Cells.SpecialCells(xlCellTypeLastCell).Column
    OutL = Destination.Cells.SpecialCells(xlCellTypeLastCell).Row
    For L = 1 To InL
    If Origine.Cells(L, 1).Value = MotCherché Then
    For C = 1 To InC
    Destination.Cells(OutL, C).Value = Origine.Cells(L, C).Value
    Next
    OutL = OutL + 1
    End If
    Next
    End Sub

    Version 2 :

    Sub recherchev4()

    //

    Dim key As Characters
    Dim i As Integer
    While (Equivalences!Gi)
    i = i + 1
    Wend
    With Worksheets("Equivalences").Range("d1:d19000") Set c = .Find("key", lookin:=xlValues)
    If Not c Is Nothing Then firstAddress = c.Address Do xxxxxxxxx
    Set C = .FindNext(C)
    Loop While Not C Is Nothing
    And c.Address <> firstAddress
    End If
    End With

    //

    With Worksheets("Equivalences")
    Worksheets("Donery").Range("D4:D8").Copy .Cells(.Rows.Count, "A").End(xlUp)(2)
    End With

    End Sub

    En enlevant toute la partie entre les deux "//" le code me copie bien ce que j'ai choisi dans la feuille d'a coté dans la colonne A...

    Pour l'instant j'arrête sinon je crois que je vais me pendre x)
    0
  2. Reizo Messages postés 17 Statut Membre
     
    Ok, je me suis trop compliqué la vie, j'ai réfléchi un peu, j'ai sorti ça en 20 minutes et ça marche, voila problème résolu :)
    0