Recopier des valeurs d'une feuille à une autre

Résolu/Fermé
Miss_tik76 Messages postés 26 Date d'inscription dimanche 3 août 2008 Statut Membre Dernière intervention 23 janvier 2014 - 22 janv. 2014 à 13:51
Miss_tik76 Messages postés 26 Date d'inscription dimanche 3 août 2008 Statut Membre Dernière intervention 23 janvier 2014 - 23 janv. 2014 à 11:15
Bonjour à tous,

Je vous joints un fichier pour mieux visualiser mon problème :
https://www.cjoint.com/?DAwnUTP8Slo

Je souhaite recopier les valeurs "quantités" de ma feuille DATA vers la Feuil1 en fonction des valeurs séléctionner dans Feuil1 :
- usine
- véhicule
- date

Si je n'ai pas été claire, je peux réexpliquer...

Merci par avance à tous !

Miss_tik76
A voir également:

4 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 23/01/2014 à 10:44
Bonjour,

1° Message annulé

Je regarde

Michel
0
Miss_tik76 Messages postés 26 Date d'inscription dimanche 3 août 2008 Statut Membre Dernière intervention 23 janvier 2014 1
23 janv. 2014 à 10:47
Bonjour,

J'ai avancé sur mon projet et trouvé ce code :

    With Worksheets("DATA")

DerLig = .Columns("A").Find("*", , , , , xlPrevious).Row
Set Col_C = .Range("C2:C" & DerLig)
Set Plage1 = Sheets("Feuil1").Range("D11:D20")

For Each d In Plage1
For Each e In Col_C
donnee = d.Value
If e.Value = donnee Then
If e.Offset(0, -1).Value = ComboBox1.Value Then
donnee1 = e.Offset(0, 1).Value
col = Sheets("Feuil1").Rows("10").Find(donnee1, , , , , xlNext).Column
lig = d.Row
e.Offset(0, 3).Copy
Sheets("Feuil1").Cells(lig, col).Select
Selection.PasteSpecial Paste:=xlPasteValues
End If
End If
Next e
Next d

End With

Mais j'ai un soucis avec ma fonction find qui ne me retourne pas la date exacte...
0
Miss_tik76 Messages postés 26 Date d'inscription dimanche 3 août 2008 Statut Membre Dernière intervention 23 janvier 2014 1
23 janv. 2014 à 10:48
Par exemple si ma date cherchée est 02/01/2014 et qu'elle n'est pas présente dans Feuil1 il copie les valeur à la date 02/11/2014...
0
Miss_tik76 Messages postés 26 Date d'inscription dimanche 3 août 2008 Statut Membre Dernière intervention 23 janvier 2014 1
Modifié par Miss_tik76 le 23/01/2014 à 10:57
Je viens de modifier ma fonction find de cette façon :
col = Sheets("Feuil1").Rows("10").Find(donnee1, , , xlWhole, , xlNext).Column
Ca à l'air de fonctionner
0
Miss_tik76 Messages postés 26 Date d'inscription dimanche 3 août 2008 Statut Membre Dernière intervention 23 janvier 2014 1
23 janv. 2014 à 10:54
Mon nouveau problème est que s'il ne trouve pas la date il beug. Comment faire pour que s'il ne trouve pas la date il passe à la suivante ?
0
Miss_tik76 Messages postés 26 Date d'inscription dimanche 3 août 2008 Statut Membre Dernière intervention 23 janvier 2014 1
23 janv. 2014 à 11:15
Cette fois ce code fonctionne sur mon exemple, plus qu'à la mettre à l'épreuve en condition réel ;)

    Dim DerLig As Integer
Dim Plage1 As Range
Dim Lig1 As Integer
Dim Col_C As Range
Dim col As Integer
Dim d As Range
Dim e As Range

With Worksheets("DATA")

DerLig = .Columns("A").Find("*", , , , , xlPrevious).Row
Set Col_C = .Range("C2:C" & DerLig)
Set Plage1 = Sheets("Feuil1").Range("D11:D20")

For Each d In Plage1

For Each e In Col_C

If e.Value = d.Value Then

If e.Offset(0, -1).Value = ComboBox1.Value Then
donnee1 = e.Offset(0, 1).Value
'Pour diminuer le temps de recherche
Nb_Tr = Application.CountIf(Sheets("Feuil1").Rows("10"), donnee1)
If Nb_Tr > 0 Then
col = Sheets("Feuil1").Rows("10").Find(donnee1, , , xlWhole, , xlNext).Column
lig = d.Row
e.Offset(0, 3).Copy
Sheets("Feuil1").Cells(lig, col).Select
Selection.PasteSpecial Paste:=xlPasteValues
End If

End If

End If

Next e

Next d

End With
0