XL 2016 Macro copier le contenu d'une ligne dans une autre feuille

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

Leochki

XLDnaute Nouveau
Bonjour à tous,

J'ai pu trouver pas mal de macro pouvant faire ce genre de transfert. Mais mes compétences en VBA sont trèèèèès limitées.

Malheureusement aucune ne répond à mes besoins, je m'explique :

Je souhaite copier une ligne de l'onglet "resuligne" et l'insérer dans l'onglet "Tab BIM" MAIS il faudrait que :
-L'insertion dans l'onglet "Tab BIM" se fasse par rapport au nom de l'ouvrage (colonne A de l'onglet resuligne) ;
-L'insertion se fasse en dernière ligne pour avoir un classement par date dans l'onglet "Tab BIM".


Je suis à votre disposition si vous avez besoin d'info complémentaires.

Merci d'avance !!
 
pour la référence inexistante, essaie avec ce code modifié

elle sera mise en bas du tableau
VB:
Sub déplacerligne()

Set LineToCopy = ActiveCell.EntireRow
Ouvrage = Range("A" & ActiveCell.Row)

With Sheets("Tab BIM")
    fin = .Range("A" & .Rows.Count).End(xlUp).Row
    Set ZoneData = .Range("A5:BA" & fin)
    
     With ZoneData
        Set c = .Find(Ouvrage, searchdirection:=xlPrevious, Lookat:=xlWhole)
        If Not c Is Nothing Then
            LigneDest = c.Row + 1
        Else
            LigneDest = fin + 1
        End If
    End With
           
    LineToCopy.Copy
    .Rows(LigneDest).Insert shift:=xlDown
End With
LineToCopy.Delete
End Sub

à noter: cette macro fonctionne pour UNE ligne active
maintenant, si tu souhaites faire la meme chose pour l'ensemble des lignes de Resuligne en une seule fois, il suffit de faire une boucle
à voir selon ton besoin
 
C'est magnifique, je vais sérieusement me renseigner sur une manière de me former au code VBA !
L'histoire de la boucle est également une bonne piste, vaut-il mieux préférer une do loop ? ou une for each next ?
Où intégrer la boucle dans le code ?

Merci 🙂
 
en PJ solution avec la boucle
attention: pour que ca fonctionne, il a fallu que je nettoie ton fichier: à savoir supprimer toutes les lignes vides sous le tablo
les MFC sont appliquées sur les colonnes entières.. de la ligne 1 à la ligne 1048576
donc pour excel, l'ensemble des lignes est utilisée==> impossible d'ajouter une ligne

je te laisse refaire tes 3 MFC en prenant garde de ne les affecter QUE sur les lignes contenant des données
 

Pièces jointes

- 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

Discussions similaires

Réponses
5
Affichages
379
Retour