XL 2010 Changement de colonne automatique après enregistrement bouton VBA ??

CODH

XLDnaute Nouveau
Bonjour la communauté ! je suis novice en Excel mais j'ai un projet pour mon entreprise presque terminée mais il me manque votre aide pour le terminer :)


Alors voila, pour vous expliquer le contexte je travaille actuellement dans une entreprise on nous fabriquons des pièces.
A la fin de la fabrication des opérateurs vérifient la qualité des pièces. Aujourd'hui les opérateurs relèvent les défauts à la main sur une feuille de papier.
Exemple : poussières, rayures, traces de doigts... Ma volonté est de moderniser un peu notre système grâce à une tablette tactile où nos opérateurs retrouveront un fichier Excel où ils pourront cliquer sur des boutons en VBA en fonction des défauts qu'ils rencontrent.

Chaque clique incrémente un compteur. Lorsque la fin de la journée arrive l'opérateur à un bouton enregistrer que copie / colle les compteurs sur une autre feuille pour une sauvegarde des données dans le but d'une analyse des défauts chaque fin de semaine.

J'ai réussi à faire l'ensemble des choses grâce à l'enregistreur de macro mais un problème subsiste. Je n'arrive pas à faire en sorte que chaque "clique" sur le bouton enregistrement déclare d'une colonne les données saisies dans l'onglet "enregistrement" pour pouvoir grader un historique des défauts rencontrés en fonction des jours.

Merci d'avance pour votre aide précieuse. J'espère que mon explication est claire.
A bientôt !
 

Pièces jointes

  • Logiciel défauts qualité.xlsm
    36.2 KB · Affichages: 10

fanch55

XLDnaute Barbatruc
Salut,
Je n'arrive pas à faire en sorte que chaque "clique" sur le bouton enregistrement déclare d'une colonne les données saisies
Je suppose que vous voulez dire "décale" et non "déclare".

Je pense que cette sub devrait suffire :
VB:
Sub Enregistrement()
   ' Colonne non remplie
    Lc = Worksheets("Enregistrement").Cells(1, Worksheets("Enregistrement").Columns.Count).End(xlToLeft).Column + 1
'
    Worksheets("Logiciel").[B01:B04].Copy Worksheets("Enregistrement").Cells(1, Lc)
    Worksheets("Logiciel").[B18:B23].Copy Worksheets("Enregistrement").Cells(5, Lc)
    
    Worksheets("Enregistrement").Columns(Lc).AutoFit
    Worksheets("Logiciel").[B18:B23].ClearContents
    
    Application.CutCopyMode = False
    
    ActiveWorkbook.Save
    
End Sub
 

CODH

XLDnaute Nouveau
Salut,

Je suppose que vous voulez dire "décale" et non "déclare".

Je pense que cette sub devrait suffire :
VB:
Sub Enregistrement()
   ' Colonne non remplie
    Lc = Worksheets("Enregistrement").Cells(1, Worksheets("Enregistrement").Columns.Count).End(xlToLeft).Column + 1
'
    Worksheets("Logiciel").[B01:B04].Copy Worksheets("Enregistrement").Cells(1, Lc)
    Worksheets("Logiciel").[B18:B23].Copy Worksheets("Enregistrement").Cells(5, Lc)
   
    Worksheets("Enregistrement").Columns(Lc).AutoFit
    Worksheets("Logiciel").[B18:B23].ClearContents
   
    Application.CutCopyMode = False
   
    ActiveWorkbook.Save
   
End Sub
Merci de votre réponse rapide effectivement je voulais dire décale! Ca marche super bien merci merci. Bonne continuation.
 

Statistiques des forums

Discussions
315 098
Messages
2 116 189
Membres
112 679
dernier inscrit
Yupanki