Pb Excel - macro report de lignes

Résolu
Bonjour,

je reviens vers pour un pb de macro.
ci-joint le fichier : https://www.cjoint.com/?ljlEbvQzEH

il s'agit d'un fichier excel avec deux feuilles. la 1ère permet de saisir un bon de livraison, la 2ème récupère les infos importantes. il y a actuellement un pb dans le report des lignes de désignations. comme le montre le fichier joint, les désignations du 3ème bon de livraison viennent remplir des vides des autres bons de livraison.

ma seconde requête concerne le n° de bon que j'attribue automatiquement en incrémentant. est-il possible d'avoir un n° de type 09xxx qui s'incrémenterait de +1.

merci de votre précieuse aide.
Configuration: Windows XP
excel 2007

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Salut,
    Normal, celui qui t'as aidé la première fois ne devait pas être bien réveille. Cette macro fonctionne mieux...

    Private Sub CommandButton1_Click()
    Dim lig As Integer
    Cells(23, "d").Value = Cells(23, "d").Value + 1
    With Sheets("Récap")
    lig = .Range("A65536").End(xlUp).Offset(1, 0).Row
    End With
    ActiveSheet.Range("D23").Copy Sheets("Récap").Range("A" & lig)
    ActiveSheet.Range("c21").Copy Sheets("Récap").Range("B" & lig)
    ActiveSheet.Range("e12").Copy Sheets("Récap").Range("C" & lig)
    ActiveSheet.Range("C27").Copy Sheets("Récap").Range("D" & lig)
    ActiveSheet.Range("C28").Copy Sheets("Récap").Range("E" & lig)
    ActiveSheet.Range("C29").Copy Sheets("Récap").Range("F" & lig)
    ActiveSheet.Range("C30").Copy Sheets("Récap").Range("G" & lig)
    ActiveSheet.Range("C31").Copy Sheets("Récap").Range("H" & lig)
    ActiveSheet.Range("C32").Copy Sheets("Récap").Range("I" & lig)
    ActiveSheet.Range("C33").Copy Sheets("Récap").Range("J" & lig)
    ActiveSheet.Range("C34").Copy Sheets("Récap").Range("K" & lig)
    ActiveSheet.Range("C35").Copy Sheets("Récap").Range("L" & lig)
    ActiveSheet.Range("C36").Copy Sheets("Récap").Range("M" & lig)
    ActiveSheet.Range("C37").Copy Sheets("Récap").Range("N" & lig)
    ActiveSheet.Range("C38").Copy Sheets("Récap").Range("O" & lig)
    With Sheets("Récap").Columns("A:O")
    .Borders(xlDiagonalDown).LineStyle = xlNone
    .Borders(xlDiagonalUp).LineStyle = xlNone
    .Borders(xlEdgeLeft).LineStyle = xlNone
    .Borders(xlEdgeTop).LineStyle = xlNone
    .Borders(xlEdgeBottom).LineStyle = xlNone
    .Borders(xlEdgeRight).LineStyle = xlNone
    .Borders(xlInsideVertical).LineStyle = xlNone
    .Borders(xlInsideHorizontal).LineStyle = xlNone
    .Font.Bold = False
    ActiveSheet.PrintOut , , 1, True, "Mon_Imprimante", False, False
    End With
    End Sub

    Quant à ton n° de BL, tu veux qu'il s'incrémente quand? A l'ouverture du fichier? après impression?
    1. je viens de vous envoyer un message privé mais vous venez de répondre.
      vraiment super, c'est parfait.
      pour l'incrémentation ce serait mieux à l'ouverture du fichier je pense.
      merci de votre aide, vraiment.
      où pourrais-je trouver les fonctions de base vb avec des ex. simples (comme ça je pourrais progresser).
      1. Modérateur
        Je ne sais pas ou trouver les fonctions de base. J'ai appris sur le tas... Vois avec Google s'il en connait.

        Incrémentation à l'ouverture du fichier :
        ALT + F11
        En haut à gauche de la fenêtre Visual Basic, un petite fenêtre contient :
        Feuil1(BL)
        Feuil2(Récap)
        This workbook.
        Cliquer sur This Workbook et copier coller cette procédure :

        Private Sub Workbook_Open()
        Sheets("BL").Range("D23") = Sheets("Récap").Range("A65536").End(xlUp).Value + 1
        End Sub
        fermer enregistrer fermer excel et tester l'ouverture... en ouvrant le fichier!!
        1. bonjour,
          je viens de rajouter des fonctionnalités à ma macro qui rendent inopérantes ma première demande et les lignes de développement de pijaku. (comme le montre le fichier joint, les désignations du 2ème bon de livraison reviennent à nouveau remplir les lignes vides du 1er).
          je ne vois pas comment faire....

          https://www.cjoint.com/?lqptp0m4wl

          merci de votre aide.