Option Explicit
Sub Transfert_Client()
Dim WSSource As Worksheet, WSCible As Worksheet
Dim RangeSource As Range, RangeCible As Range
Dim Cell As Range
Dim TabSource As Variant
Dim Alert As String
Set WSSource = Sheets('Données')
Set WSCible = Sheets('Données Clients')
Set RangeSource = WSSource.Range('G22:O22')
For Each Cell In RangeSource
If Cell = 0 Then
Alert = Alert & Cell.Offset(-1, 0) & vbCrLf
End If
Next
If Alert <> '' Then
MsgBox 'Opération Impossible, le(s) champs suivant(s) est(sont) vide(s)' & vbCrLf & Alert, vbCritical
Exit Sub
End If
TabSource = RangeSource
With WSCible
Set RangeCible = .Range(.Range('A65536').End(xlUp)(2), .Range('I65536').End(xlUp)(2))
End With
RangeCible = TabSource
End Sub