Recherche et Copie Automatique

Résolu/Fermé
Reizo Messages postés 17 Date d'inscription jeudi 17 janvier 2013 Statut Membre Dernière intervention 21 janvier 2013 - Modifié par Reizo le 17/01/2013 à 14:39
Reizo Messages postés 17 Date d'inscription jeudi 17 janvier 2013 Statut Membre Dernière intervention 21 janvier 2013 - 18 janv. 2013 à 11:32
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

Reizo Messages postés 17 Date d'inscription jeudi 17 janvier 2013 Statut Membre Dernière intervention 21 janvier 2013
17 janv. 2013 à 16:39
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
Reizo Messages postés 17 Date d'inscription jeudi 17 janvier 2013 Statut Membre Dernière intervention 21 janvier 2013
18 janv. 2013 à 11:32
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