transfert de cellule d'un onglet à l'autre

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

Pier-luc

XLDnaute Junior
Salut, comment je pourrais faire pour que lorsque je sélectionne des lignes, ex les lignes 38 et 39 de la feuille «suivi de commande» et que lorsque j’appuie sur un bouton il copie c’est ligne de C à M, à la dernière ligne du tableau «suivi de production» au colonne correspondante et que en A il ajoute la date du jour et en B le #1 pour le premier, le #2 pour le deuxième et qu’il les supprime dans le tableau «suivi de commande».


J’ai faite des tests avec des macros, mais ça ne fonctionnai jamais, j’ai donc besoin de votre aide.

Noter que j'ai aussi poser la question ici pour maximiser les chance d'obtenir une réponse :
https://forum.excel-pratique.com/viewtopic.php?f=2&t=110568


Merci d’avance
 

Pièces jointes

Dernière édition:
@Lone-wolf

J'ai travaillé pas mal sur mon dossier et rendu à la version final quand je le testai j'ai remarqué que quand je transférai une cellule d''un onglet à l'autre les lignes n'étaient pas à la bonne place , il son décalées de 1 vers la droite, ex : # interne est vis à vis # bill
 

Pièces jointes

Désoler mon erreur, je sélectionnai le B dans ma sélection, car je voulais que lorsque je fait le transfert que la ligne complète se supprime, car présentement si je sélectionne de C à M , le texte dans la rangé que j'ai transférer s'efface, mais la ligne ne se supprime pas complètement.

Merci
 
Salut, désolé pour la confusion je suis assez débutant en VBA. Je crois que j'ai trouver le problème, dans le premier module que tu m'avait fait tu m'avais dit d'ajouté : plage.EntireRow.Delete, par contre dans le second module, celui me permettant de supprimer des lignes je ne l'est pas ajouté. J'ai donc essayé de le mettre après Application.GoTo, mais il me marque une erreur.
 
Re

Si c'est le module 2 dont tu parle, c'est inutile. Le Module 5 le fait déjà. Je te remet la macro. Supprime ce qu'il y a dans le module 5, et met celle-ci à la place.

VB:
Sub copier()
Dim derlig&, num&, sh As Worksheet, shc As Worksheet
Dim plage As Range, plg As Range, Cel As Range

    Application.ScreenUpdating = False
    Set sh = Sheets("Suivi de production")
    Set shc = Sheets("Suivi de commande")

    Set plage = Selection
    plage.Copy

    Set plg = sh.Range("c" & Rows.Count).End(3)(2)
    plg.PasteSpecial xlPasteValues
    Application.CutCopyMode = 0

    With sh
        derlig = .Range("c" & Rows.Count).End(xlUp).Row
        x = .Range("a" & Rows.Count).End(xlUp).Row + 1
        num = 0
        .Range(.Cells(x, 1), .Cells(derlig, 1)) = Date + 1

        For Each Cel In .Range("a3:a" & derlig)
            If Cel = Cel.Offset(-1, 0) Then
                num = num + 1
                Cel.Offset(0, 1) = num
            Else
                num = 1
                Cel.Offset(0, 1) = num
            End If
        Next Cel

    End With
    Application.Goto sh.Range("a" & derlig)
    shc.Activate
    plage.EntireRow.Delete
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

Discussions similaires

Réponses
4
Affichages
640
Retour