transfert de cellule d'un onglet à l'autre

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

  • test58.xlsm
    242.7 KB · Affichages: 22
Dernière édition:

Pier-luc

XLDnaute Junior
@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

  • LOT COLLAGE FINAL.xlsm
    152.9 KB · Affichages: 15
  • LOT COLLAGE FINAL.xlsm
    152.9 KB · Affichages: 8

Pier-luc

XLDnaute Junior
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
 

Pier-luc

XLDnaute Junior
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.
 

Lone-wolf

XLDnaute Barbatruc
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
 

Discussions similaires

Réponses
7
Affichages
344

Statistiques des forums

Discussions
312 176
Messages
2 085 967
Membres
103 072
dernier inscrit
Remithesix