Ma première prog en VBA avec 3 opérations
Bonjour
Même si la création de tableau n'a plus de secret je ne m'étais jamais lancé dans la prog en VBA
Pour cette première je voulais créer un bouton en feuille 1 capable de :
- vider des cellules sur plusieurs feuilles du classeur.
- fermer le fichier sans enregistrer ni afficher la boite de dialogue
- de faire en sorte de toujours à l'ouverture démarrer sur la même feuille.
Sub vider_cellules()
'
' vider_cellules Macro
' Private Sub CommandButton1_Click()
Sheets("Laser").Select
Range("A3,A5,B10:C15,B17:C17,B21:C25,B27:C27,E4,F4,J4,K4,L4,M4,N4,G4,H4,I4,E10:N30,E36:N39,P2").Select
Selection.ClearContents
Sheets("BE - BM").Activate
Sheets("BE - BM").Select
Range("C8").Select
Selection.ClearContents
Sheets("Pliage").Activate
Sheets("Pliage").Select
Range("C9,C12,C15,C18,C22,C31,C33").Select
Selection.ClearContents
Sheets("Roulage").Activate
Sheets("Roulage").Select
Range("C8,C12").Select
Selection.ClearContents
Sheets("taraudage Machine").Activate
Sheets("Taraudage Machine").Select
Range("C8,C17,C19").Select
Selection.ClearContents
Sheets("Soud TIG - MIG").Activate
Sheets("Soud TIG - MIG").Select
Range("C8,C11,C14,C18,G18,G14,G11,G8").Select
Selection.ClearContents
Sheets("Meulage").Activate
Sheets("Meulage").Select
Range("C9,C12,G12,G9").Select
Selection.ClearContents
End Sub
Private Sub Workbook_close()
Sheets("SheetLaser").Select
End Sub
Pivate SubCloseBook()
Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub
certaine chose fonctionnent mais pas tout pouvez-vous regarder mon programme et me dire où il y a des problèmes
pour la petite histoire je viens à 56 ans de prendre le poste de responsable informatique et de l'ERP maison Workplan
il n'est jamais trop tard pour apprendre
merci d'avance
Cordialement
Patrick
Bonjour. En effet il n'est jamais trop tard. Félicitations pour le poste.
2 choses : est-il possible d'envoyer ton fichier? à lire comme ça une macro c'est un peu hardu, je ne suis pas un méga-pro excel comme MFerrand, Banzai et les autres ^^
Sinon comme ça à la lecture sans détail :
Sub vider_cellules()
Sheets("Laser").Select
Range("A3,A5,B10:C15,B17:C17,B21:C25,B27:C27,E4,F4,J4,K4,L4,M4,N4,G4,H4,I4,E10:N30,E36:N39,P2").ClearContents
Sheets("BE - BM").Select
Range("C8").ClearContents
Sheets("Pliage").Select
Range("C9,C12,C15,C18,C22,C31,C33").ClearContents
Sheets("Roulage").Select
Range("C8,C12").ClearContents
Sheets("Taraudage Machine").Select
Range("C8,C17,C19").ClearContents
Sheets("Soud TIG - MIG").Select
Range("C8,C11,C14,C18,G18,G14,G11,G8").ClearContents
Sheets("Meulage").Select
Range("C9,C12,G12,G9").ClearContents
End SubAprès le mieux c'est de ne pas utiliser select car tu perd du temps et des ressources, tu met :
With Sheets("BE - BM")
.Range("C8").ClearContents
End WithOu encore encore mieux, ne pas utiliser de "Range" mais "Cells(numéro de ligne, numéro de colonne) :
With Sheets("BE - BM")
.Cells(8, 3).ClearContents
End WithPour la suite il faudrait vraiment un fichier je pense pour que je t'aide
Bonjour et merci pour la reponse
Je t'envoie le fichier
Cordialement