Cherche code vab pour copier coller d un onglet sur un autre onglet

Bonsoir Le Forum

j'ai fait un petit fichier qui permet de suivre les livraisons en interne , mais j'aimerais un peu aide pour trouver un code pour simplifier mon copier coller d'un onglet a un autre effectuer a chaque saisie , cela va me permettre de gagner du temps car plus de 100 LIivraisons Jour

Si quelqu'un a une petite idée je suis preneuse

J'ai auusi fait deux formules dans l'onglet Archive ( numérotation automatique et date de création en automatique ) mais si il existe plus simple avec un rajout de l'heure dans le date je suis preneuse aussi

Merci d'avance a toute et tous pour votre aide

Cordialement

Nath

Bonjour,

Sub copie()
Dim ligne As Long

    With Sheets("Archive")
        ligne = .Range("C" & .Rows.Count).End(xlUp).Row + 1
        .Cells(ligne, 3).Resize(1, 7).Value = Application.WorksheetFunction.Transpose(Range("H2:H8").Value)
        .Cells(ligne, 1) = IIf(ligne = 2, 1, .Cells(ligne - 1, 1) + 1)
        .Cells(ligne, 2) = Now
    End With

End Sub

Bonjour Steelson

Super Merci pour ton aide , cela fonctionne correctement

Petite question , si je veux copier coller avec ton code la cellule H2;H4;H6;H8;H10;H12;H14 comment modifer le code:"Application.WorksheetFunction.Transpose(Range("H2:H8")."

De plus , je sais j'abuse de ta gentillesse , mais est il possible a chaque création de n°Transport ( onglet Archive) , que ce N° en auto ce colle aussi sur un onglet que j'aimerais nommer Impression en cellule i5 , comme cela je fais une recherche V pour trouver tous les elements de la livraison ( Onglet Archive ) relatif a ce N°

Merci encore pour ton aide

Te souhaites un bon vendredi et en attente de ta réponse

Cordialement

Nathalie

Petite question , si je veux copier coller avec ton code la cellule H2;H4;H6;H8;H10;H12;H14 comment modifer le code:"Application.WorksheetFunction.Transpose(Range("H2:H8")."

Si en vertical les cellules ne se suivent pas directement alors qu'en horizontal cela se suit, ce n'est pas possible par transpose, il faut tout détailler.

Sub copie()
Dim ligne As Long

    With Sheets("Archive")
        ligne = .Range("C" & .Rows.Count).End(xlUp).Row + 1
        .Cells(ligne, 3)=Range("H2").Value
        .Cells(ligne, 4)=Range("H4").Value
        .Cells(ligne, 5)=Range("H6").Value
        .Cells(ligne, 6)=Range("H8").Value
        .Cells(ligne, 7)=Range("H10").Value
        .Cells(ligne, 8)=Range("H12").Value
        .Cells(ligne, 9)=Range("H14").Value
        .Cells(ligne, 1) = IIf(ligne = 2, 1, .Cells(ligne - 1, 1) + 1)
        .Cells(ligne, 2) = Now
    End With

End Sub

De plus , je sais j'abuse de ta gentillesse , mais est il possible a chaque création de n°Transport ( onglet Archive) , que ce N° en auto ce colle aussi sur un onglet que j'aimerais nommer Impression en cellule i5

Ajoute à la fin de la macro copier :

sheets("Impression").range("i5") = sheets("Archive").Cells(ligne, 1)

Stelson

Super cela fonctionne , tu es vraiment Hyper Cool et surtout hyper réactif

J'ai une derniere question , peut t'on rajouter dans le code vba le nom de l'imprimante et si oui comment je peux faire

Merci encore pour ton aide

En attente de ta réponse

Te souhaites une super bonne journée

Nathalie

J'ai une derniere question , peut t'on rajouter dans le code vba le nom de l'imprimante et si oui comment je peux faire

Ah désolé, n'ayant plus d'imprimante je ne pourrai pas te conseiller sur la bonne méthode.

1ère solution : faire un enregistrement de macro et voir comment est insérer le nom de l'imprimante, l'isoler, le porter dans une cellule et remplacer le nom de l'imprimante dans la macro par le nom de la cellule ... mais pas sûr qe cela fonctionne !

2ème solution : ouvre un nouveau topic sur le forum, d'autres pourraient peut-être avoir une solution.

Stelson

Merci quand meme

J'ai trouvé pour faire Impression, j'ai selectionné par défaut mon imprimante

Par contre j'ai une ultime demande que j'ai rajouté dans le fichier joint

Si tu peux m'aider

Je te remercie par avance de l'interet que tu portes a mes demandes

Je te souhaites un bon week end

Et en attente de te lire

Cordialement

Nathalie

Dans la feuille Archive :

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Columns("J")) Is Nothing Then Exit Sub
    Intersect(Target, Columns("J")).Select
    Application.EnableEvents = False
        deplace
    Application.EnableEvents = True
End Sub

dans un module :

Sub deplace()
Dim cel As Range, ligne As Long

    With Sheets("Listing")
        For Each cel In Selection
            If cel.Value = "ok" Then
                ligne = .Range("A" & .Rows.Count).End(xlUp).Row + 1
                Range("A" & cel.Row & ":I" & cel.Row).Copy Destination:=.Cells(ligne, 1)
                .Cells(ligne, "J") = Now
                Cells(cel.Row, "K") = Now
            End If
        Next
    End With

End Sub

Bonjour Steelson

Tu es magique , cela fonctionne

Par contre si je re selectionne une ligne deja selectionner , elle remonte dans listing donc doublon

Est il possible de dire dans le VBA , si cette ligne existe déja dans Listing , msg erreur qui dit ; Attention déja selectionner , donc pas de remonter dans Listing , et efface le ok de la selection pour ensuite prendre la bonne ligne a mettre dans listing

Merci pour ton aide HYPER PRECIEUSE

En attente de ta réponse

Te souhaites un excellent Dimanche

Nath

Bonjour,

Dans la mesure où il n'y a pas d'identifiant unique sur chaque ligne, cela me parait difficile.

D'un autre côté, la ligne a été copiée quand ok a été porté en colonne J, donc à moins d'effacer et remettre ok (donc acte intentionnel) il ne devrait pas y avoir de problème.

OK , tu as raison

une derniere question , si je veux imprimer le listing , mais que les lignes qui remontent , on peut en vba definir une zone d'impression qui prend en compte a la dernier ligne vide afin de ne pas imprimer toute la feuille

Merci pour ta réponse

Nath

A nouveau, comme on peut mettre ok plusieurs fois, je ne sais pas à partir de quand il faudrait imprimer.

Mais ce que tu peux faire, c'est masquer régulièrement les lignes qui ont été imprimées.

Bonjour

Oui je vais faire comme cela , c'est plus simple

Encore merci pour ton aide

Bonne semaine

Nath

Rechercher des sujets similaires à "cherche code vab copier coller onglet"