• Initiateur de la discussion Initiateur de la discussion butterfly94
  • 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 !

B

butterfly94

Guest
Bonjour,

Voici mon probleme : je souhaite copier l'onglet 'Source' le coller dans l'onglet 'Copie', puis copier l'onglet 'Source2' et le coller à la suite de ce qui a déja été collé dans l'onglet 'Copie' (la 1ère cellule vide après le 1er copier coller varie chaque mois) et dans la colonne E de l'onglet 'Copie' il doit y avoir une fonction recherchev qui détermine le code département de la ville en fonction du référenciel situé sur l'onglet 'Référentiel'

Quel code VBA me permettrait de faire ca sachant qu'il sagit d'un fichier bien plus lourd que celui envoyé en exemple et sachant que le nombre de lignes change chaque mois. La fonction recherchev doit etre incrémentée sur le nb de lignes 'pleines'.

Merci bcp!!
 

Pièces jointes

Re : Macro copier coller

Bonsoir butterfly, le forum,

butterfly94 à dit:
Quel code VBA me permettrait de faire ca ...

Celui-ci par exemple :

Code:
Option Explicit
Public Sub copie()
Dim l As Long
Dim w0 As Worksheet
Dim w1 As Worksheet
Dim w2 As Worksheet
Dim w3 As Worksheet
    Set w0 = Worksheets("Copie")
    Set w1 = Worksheets("Source")
    Set w2 = Worksheets("Source2")
    Set w3 = Worksheets("Référenciel")
    Worksheets("Copie").Activate
    w0.Cells(2, 1).Resize(w0.Cells(65536, 1).End(xlUp).Row).EntireRow.Delete
    w1.Cells(2, 1).Resize(w1.Cells(65536, 1).End(xlUp).Row).EntireRow.Copy
    ActiveSheet.Paste Destination:=w0.Cells(2, 1)
    w2.Cells(2, 1).Resize(w2.Cells(65536, 1).End(xlUp).Row).EntireRow.Copy
    ActiveSheet.Paste Destination:=w0.Cells(w0.Cells(65536, 1).End(xlUp).Row + 1, 1)
    l = w3.Cells(65536, 1).End(xlUp).Row
    w0.Cells(2, 5).FormulaR1C1 = "=VLOOKUP(RC[-2],Référenciel!R1C1:R" & l & "C2,2,FALSE)"
    w0.Cells(2, 5).AutoFill _
        Destination:=w0.Cells(2, 5).Resize(w0.Cells(65536, 1).End(xlUp).Row - 1, 1), Type:=xlFillDefault
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

Réponses
20
Affichages
1 K
Réponses
5
Affichages
972
Réponses
6
Affichages
1 K
Retour