Remplacer les données en recopiant d'autres

Bonjour

en feuille 1 j'ai un tableau A3:u62

la ligne3 = nom des champs

à partir de la ligne4 jusque ligne 62 = les valeurs

le 1er champ= n° d ordre non trié croissant obligatoirement

dans ma feuille 2 en ligne 21 (a21:u21) j'ai des infos que je souhaite recopier en feuille1 via une macro

en a20= champ "n° d'ordre"

en a21= valeur (un entier)

gr^^ace au n n° d'ordre ce trouvant en a1 feuille2, le rechercher dans feuille1 et remplacer toute la ligne par les valeurs de la feuille 2

auriez vous une idée,

merci

Zbig

Bonjour zbig,

gr^^ace au n n° d'ordre ce trouvant en a1 feuille2,

J’ai supposé que tu as voulu écrire "Grâce au n° d'ordre se trouvant en A21 feuille2"

Sub Remplacer()
Dim WsS As Worksheet, WsC As Worksheet
Dim C As Range
    Set WsS = Worksheets("Feuil2") 'Feuille source
    Set WsC = Worksheets("Feuil1") 'Feuille cible
    Set C = WsC.Columns(1).Find(WsS.Range("A21").Value, , xlValues, xlWhole)
    If Not C Is Nothing Then
        WsS.Range("A21:U21").Copy C.Resize(, 21)
    End If
    Set C = Nothing: Set WsC = Nothing: Set WsS = Nothing
End Sub

A+

Bonjour

si dans les cellules (feuille source) j'ai une valeur text ou chiffrée , ça fonctionne correctement vers la feuille cible

et

si dans les cellules (feuille source) j'ai une formule (ex en a21 : =c2); j'ai une erreur "=+#REF!" en feuille cible

zbig

Re-bonjour,

Alors peut-être comme cela :

Sub Remplacer()
Dim WsS As Worksheet, WsC As Worksheet
Dim C As Range
    Set WsS = Worksheets("Feuil2") 'Feuille source
    Set WsC = Worksheets("Feuil1") 'Feuille cible
    Set C = WsC.Columns(1).Find(WsS.Range("A21").Value, , xlValues, xlWhole)
    If Not C Is Nothing Then
        WsS.Range("A21:U21").Copy
        C.Resize(, 21).PasteSpecial Paste:=xlPasteValues
        Application.CutCopyMode = False
    End If
    Set C = Nothing: Set WsC = Nothing: Set WsS = Nothing
End Sub

A+

Salut

c'est exactement cela.

merci

Zbig

Rechercher des sujets similaires à "remplacer donnees recopiant"