XL 2016 Génerer rapport (macro)

chermiti

XLDnaute Occasionnel
Bonsoir à tous,

je possède une base d'ordre de fabrication par semaine qui s'affiche automatiquement lors de la modification de la semaine, mon souhait est de générer un rapport après validation qui s'affiche sous la format se trouvant dans la feuille "Rapport" lors que j'appuie sur le bouton Valider

Merci d'avance
 

Pièces jointes

  • OF (1)-2.xlsm
    84.9 KB · Affichages: 7

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Chermiti,
Désolé c'est n'importe quoi ! Ca veut dire quoi "ça Bug" ? Quel contexte, quelle erreur, ....
Evidemment je l'ai testé avant de le livrer, et ça marchait mais avec mon contexte et ma compréhension.

Pourriez vous, si c'est possible, être quelque plus disserte ?
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Avant Valider
1.jpg

Après Valider
2.jpg

Donc conforme aux specs.
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, chermiti, sylvanu

C'est un bug bien connu ;)
VB:
Sub Avec_Bug_ICC()
Dim Ligne As Long
[A1] = "Test"
Ligne = Range("A:A").End(xlDown).Row + 1
MsgBox Ligne '-< puce à l'oreille ;-)
MsgBox Cells(Ligne, "A").Address
End Sub
Sub Sans_Bug_ICC()
Dim Ligne As Long
[A1] = "Test"
Ligne = Range("A:A").End(xlUp).Row + 1
MsgBox Cells(Ligne, "A").Address
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

Essaies ainsi
(puis essaies de comprendre le pourquoi du bug (toujours grâce à ma puce à l'oreille ;))
VB:
Sub MAJ_rapport()
'PremiereLigneRapport = Sheets("Rapport").Range("A:A").End(xlDown).Row + 1

PremiereLigneRapport = Sheets("Rapport").Cells(Rows.Count, 1).End(xlUp)(2).Row
NbligneaCopier = Sheets("Feuil1").Range("A6:A1000").End(xlDown).Row - 5

For i = 6 To 5 + NbligneaCopier

    [Rapport].Cells(PremiereLigneRapport, 1) = [DateEnCours]                    'Date
    [Rapport].Cells(PremiereLigneRapport, 2) = [OF]                             'OF
    [Rapport].Cells(PremiereLigneRapport, 3) = [NoSemaine]                      'Semaine
    [Rapport].Cells(PremiereLigneRapport, 4) = [Quantite]                       'Qté

    [Rapport].Cells(PremiereLigneRapport, 5) = Sheets("Feuil1").Range("A" & i)  'Code
    [Rapport].Cells(PremiereLigneRapport, 6) = Sheets("Feuil1").Range("B" & i)  'Désignation
    [Rapport].Cells(PremiereLigneRapport, 7) = Sheets("Feuil1").Range("F" & i)  'Poids
    [Rapport].Cells(PremiereLigneRapport, 8) = Sheets("Feuil1").Range("G" & i)  'Qté UVC

    PremiereLigneRapport = PremiereLigneRapport + 1
Next i
End Sub
 

Discussions similaires

Réponses
26
Affichages
791
Réponses
1
Affichages
311