coller ligne fonction code de ligne

noviceAG

XLDnaute Impliqué
Bonjour ami(e)s du Forum,
je me demande s'il est réalisable de copier la ligne (1) d'une feuille (Feuil1) et de la coller sur une autre feuille en fonction du numéro figurant en A1 de la feuille 1 pour remplacer la ligne comportant le même numéro sur la feuille 2 (en colonne A) - Je ne sais si je me fais bien comprendre et reste à votre disposition.
En vous remerciant
 

Pierrot93

XLDnaute Barbatruc
Re : coller ligne fonction code de ligne

Bonjour Noviceag

essayes le code ci-dessous, si j'ai bien compris :

Code:
Option Explicit
Sub test()
Dim c As Range
With Sheets("Feuil2")
    Set c = .Range("A2:A" & .Range("A65536").End(xlUp).Row).Find(Sheets("Feuil1").Range("A1").Value, , xlValues, xlWhole, , , False)
    If Not c Is Nothing Then Sheets("Feuil1").Rows(1).Copy .Rows(c.Row)
End With
End Sub

bon après midi
@+
 

noviceAG

XLDnaute Impliqué
Re : coller ligne fonction code de ligne

Re, Pierrot, le Forum,
Au cas ou le numéro de code ligne ne figurerait pas en feuille 2, comment ajouter la nouvelle ligne en dessous de la dernière ligne renseignée ?
En te remerciant une fois encore
 

Pierrot93

XLDnaute Barbatruc
Re : coller ligne fonction code de ligne

Re

modifies comme suit :

Code:
Option Explicit
Sub test()
Dim c As Range
With Sheets("Feuil2")
    Set c = .Range("A2:A" & .Range("A65536").End(xlUp).Row).Find(Sheets("Feuil1").Range("A1").Value, , xlValues, xlWhole, , , False)
    If Not c Is Nothing Then
        Sheets("Feuil1").Rows(1).Copy .Rows(c.Row)
    Else
        Sheets("Feuil1").Rows(1).Copy .Rows(.Range("A65536").End(xlUp).Row + 1)
    End If
End With
End Sub

@+
 

noviceAG

XLDnaute Impliqué
Re : coller ligne fonction code de ligne

Re, Pierrot, le Forum,
Je te remercie grandement Pierrot pour autant de rapidité et ta disponibilité
je te fais confiance quant au code, perso, je le testerai dès mon retour ce soir
Bonne continuation et un grand merci encore
 

noviceAG

XLDnaute Impliqué
Re : coller ligne fonction code de ligne

Re, Pierrot, le Forum,
Le code fonctionne très bien Pierrot, mais je souhaiterai une modification si possible, à savoir que ca colle les valeurs seulement et que ca écrase la ligne correspondante si elle existe, dans le cas contraire l'ajouter à la fin comme le fait ton code
En te remerciant
 

Pierrot93

XLDnaute Barbatruc
Re : coller ligne fonction code de ligne

Bonjour NoviceAG

pour coller les valeurs, j'ai modifié comme suit :

Code:
Option Explicit
Sub test()
Dim c As Range
With Sheets("Feuil2")
    Set c = .Range("A2:A" & .Range("A65536").End(xlUp).Row).Find(Sheets("Feuil1").Range("A1").Value, , xlValues, xlWhole, , , False)
    If Not c Is Nothing Then
        Sheets("Feuil1").Rows(1).Copy
        .Rows(c.Row).PasteSpecial xlValues
    Else
        Sheets("Feuil1").Rows(1).Copy .Rows(.Range("A65536").End(xlUp).Row + 1)
    End If
End With
End Sub

Bonne journée
@+
 

Pierrot93

XLDnaute Barbatruc
Re : coller ligne fonction code de ligne

Re,

n'avait pas modifié le collage spéciale lorsque la cellule n'était pas trouvée :

Code:
Option Explicit
Sub test()
Dim c As Range
With Sheets("Feuil2")
    Set c = .Range("A2:A" & .Range("A65536").End(xlUp).Row).Find(Sheets("Feuil1").Range("A1").Value, , xlValues, xlWhole, , , False)
    Sheets("Feuil1").Rows(1).Copy
    If Not c Is Nothing Then
        .Rows(c.Row).PasteSpecial xlValues
    Else
        .Rows(.Range("A65536").End(xlUp).Row + 1).PasteSpecial xlValues
    End If
End With
End Sub

@+
 

noviceAG

XLDnaute Impliqué
Re : coller ligne fonction code de ligne

Re,
J'ai du faire une boulette en adaptant ce code dont le but est de copier la Plage nommée PlageFact de la feuille Facture , de rechercher la codification de la cellule A1 de cette feuille puis de rechercher en feuille ArchFact le code correspondant, et de remplacer la ligne en collant les valeurs copiés.
Si le numéro n'existe pas, ajouter la ligne à la suite des enregistrements précédent.

Sub ValidModif()
Dim c As Range
Sheets("Facture").Select
With Sheets("ArchFact")
Set c = .Range("A2:A" & .Range("A65536").End(xlUp).Row).Find(Sheets("Facture").Range("A1").Value, , xlValues, xlWhole, , , False)
If Not c Is Nothing Then
Sheets("Facture").Rows(1).Copy
.Rows(c.Row).PasteSpecial xlValues
Else
Sheets("Facture").Rows(1).Copy .Rows(.Range("A65536").End(xlUp).Row + 1)
End If
End With
Range("E12").Select
End Sub

Je vous remercie de l'aide que vous m'apporterez.
 

didus

XLDnaute Occasionnel
Re : coller ligne fonction code de ligne

Bonjour à tous,

Super! ces quelques lignes de code vont m'être bien utiles pour des créations et mises à jour de données.
La ligne Set c me dépasse largement, pas compris ;-((, mais le résultat est là.

J'ai du faire une petite adaptation, car seule la ligne 1 de la feuil1 semblait concernée?
Si celà peut être utile à d'autres, je poste ma modif, la valeur x pouvant bien sur être modulée, je vais quand à moi l'extraire du tableau "source" car je souhaite travailler sur deux tableaux disctints.

Cordialement
 

Pièces jointes

  • copie feuill1 vers feuill2.xls
    38.5 KB · Affichages: 45

Discussions similaires

Réponses
22
Affichages
875

Statistiques des forums

Discussions
312 500
Messages
2 089 007
Membres
104 003
dernier inscrit
adyady__