Oui, ça aurait été mieux avec des infos plus précises au départ...
Voici une adaptation où il faudra bien affecter la variable f1.
Sub azert()
Dim docco1 As Workbook, docco2 As Workbook
Dim f1 as worksheet, f2 As Worksheet
Dim ligne& 'PAS DE VARIABLE "Rows"
Set docco1 = ThisWorkbook
Set docco2 = Workbooks.Open("C:\Users\DocsCo et SuiviCo\Suivi commercial\30SuiviCo300.xlsm")
set f2 = docco2.worksheets("Suivi") '<<< il manquait un petit "k" :), sinon c'est correct
set f1 = docco1.sheets(1) '<<< ???
If Application.CountIf(f2.Columns(1), f1.Range("C6")) > 0 Then 'ici ca aurait coincé a cause du docco1.range
ligne = Application.Match(f1.Range("C6"), f2.Columns(1), 0)
f2.Range("U" & ligne).Value = f1.Range("G47")
End If
end sub
Pour que tu comprennes, les cellules appartiennent à des feuilles, qui elles appartiennent à des classeurs. Il n'y a pas de cellules sur un classeur. Quand, dans un code, une cellule est écrite seule (ex : range("A1")), c'est parce qu'implicitement, on dit activesheet.range("A1") (qui revient à activeworkbook.activesheet.range("A1")).
Cdlt,