copier des lignes sur une autre feuille suivant un code

  • Initiateur de la discussion Initiateur de la discussion fabknight
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

F

fabknight

Guest
Bonjour,
j'ai deux feuilles excel 2003 avec des codes, des quantités, des prix... la colonne avec les codes déterminant l'ordre des lignes. Je cherche à intégrer les valeurs correspondant à un code (se trouvant donc sur une ligne) à la suite de la ligne détenant le même code sur la première feuille.
Si quelqu'un a une idée?
cordialment,
Fabknight
 
Re : copier des lignes sur une autre feuille suivant un code

Bonjour fabknight, bonjour le forum,

J'aurais envie de dire : Vous pouvez répéter la question ! Histoire de te faire comprendre qu'avec un fichier exemple, montrant ce que tu as avant et ce que tu voudrais après, ça serait bien plus clair...
 
Re : copier des lignes sur une autre feuille suivant un code

voici le fichier,
en feuille res c'est le résultat que je souhaite obtenir, sachant que le fichier fait , en tout, plusieurs centaines de colonnes(114) et 606 lignes.
 

Pièces jointes

Re : copier des lignes sur une autre feuille suivant un code

Bonjour Fabknight, bonjour le forum,

Essaie comme ça :
Code:
Sub Macro1()
Dim od As Object 'déclare la variable od (Onglet de DEstination)
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim r As Range 'déclare la variable r (Recherche)

Set od = Sheets("res") 'définit l'onglet de destination (à adapter à ton cas)
od.Range("A1").CurrentRegion.Clear 'efface les anciennes données 
Sheets("Feuil1").Range("A1").CurrentRegion.Copy od.Range("A1") 'copy et colle le tableau de l'onglet "Feuil1"
od.Range("E1").Value = "QTE 1" 'place "QTE 1" en E1
od.Range("F1").Value = "Prix 1" 'place "Prix 1" en F1
With Sheets("Feuil2") 'prend en compte l'onglet "Feuil2"
    dl = .Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée de la colonne A
    For x = 2 To dl 'boucle sur toutes les cellules de la ligne 2 à dl
        Set r = od.Columns(1).Find(.Cells(x, 1).Value, , xlValues, xlWhole) 'définit la recherche r
        If Not r Is Nothing Then .Range(.Cells(x, 2), .Cells(x, 3)).Copy r.Offset(0, 4) 'si il existe au moins une occurrence trouvé copy la quantité et le prix
    Next x 'prochaine cellule de la boucle
End With 'fin de la prise en compte de l'onglet "Feuil2"
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

D
  • Question Question
Réponses
5
Affichages
249
Didierpasdoué
D
Retour