XL 2010 copier une ligne avec condition

mobenjilali

XLDnaute Junior
bonjour
j'ai le fichier ci-joint qui me permet de copier-coller des données vers vers un tableau.
le problème si je rentre le numéro de semaine de 1 à 9 dans la cellule "AD3", la condition de copier coller n'est pas respectée
exemple:
si je rentre N° semaine " 21" dans la cellule "AD3" et je lance la macro les données sont envoyer sur la bonne ligne, et si je lance de suite la macro pour N° de semaine "2 "les données seront envoyer sur la ligne 22, 23 etc..

j'ai besoin d'un bout de code pour envoyer les donnes sur le bon N° de semaine
merci à vous
-------------------------------------------------
Sub CONSO()
ActiveWorkbook.RefreshAll
Sheets("TCD").Select
Range("AD3:Au3").Copy
Sheets("TB").Select
Cells.Find(What:=Sheets("TCD").Range("AD3"), After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, Skipblanks _
:=False, Transpose:=False


ActiveWorkbook.Save
MsgBox ("Données ajoutées au récap")

End Sub
 

Fichiers joints

Staple1600

XLDnaute Barbatruc
Bonjour le fil,

J'utiliserai ce type de syntaxe si j'étais moi ;)
Test OK sur ton fichier exemple

Je te laisse tester sur ton PC
VB:
Sub test()
Dim f As Worksheet, nsem, plage As Range, x
nsem = Sheets("TCD").[AD3]
Set f = Sheets("TB")
Set plage = f.Columns(1)
x = Application.Match(nsem, plage, 0)
If Not IsError(x) Then
f.Cells(CLng(x), 2).Resize(, 17).Value = Sheets("TCD").[AE3:AU3].Value
End If
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

Utiliser Données/Validation
Autoriser Liste et pointer sur une plage contenant les chiffres de 1 à 52
 

Discussions similaires


Haut Bas