Bonjour Pascal, Bonjour le Fil
Et oui l'Application.Quit n'est vraiment pas conseillée. Fort heureusement tu n'avais pas associé cette Commande d'un Application.DisplayAlerts = False, car là vraiment celà s'apparentrait à une sorte de code 'malin' visant à fermer Excel sans message 'Voulez-Vous enregistrer les modifications apportées à 'Toto.xls' ?... Et donc là on perd vraiment son boulot !
Sinon pour le ThisWorkbook.Close, c'est déjà bien mieux, et vu que celà ne concerne que ton classeur tu peux décider aussi de lui passer en paramètre une boolean Vrai ou Faux pour 'SaveChanges' :
ThisWorkbook.Close True (Ferme et sauve le classeur)
ThisWorkbook.Close False (Ferme et NE sauve PAS le classeur SANS alerte)
Pour finir, ton petit 'ESSAI' est très sympa comme exercice. Toutefois je me permets de te proposer une petite amélioration tendant à éradiquer toute sélection sur la Feuille, donc :
Au lieu de ceci :
Je conseille cette variante :
(en restant dans le même esprit)
Et dans la foulée, un autre style :
Bonne Journée (T.G.I.F. !!!!)
[ol]@+Thierry[/ol]
Et oui l'Application.Quit n'est vraiment pas conseillée. Fort heureusement tu n'avais pas associé cette Commande d'un Application.DisplayAlerts = False, car là vraiment celà s'apparentrait à une sorte de code 'malin' visant à fermer Excel sans message 'Voulez-Vous enregistrer les modifications apportées à 'Toto.xls' ?... Et donc là on perd vraiment son boulot !
Sinon pour le ThisWorkbook.Close, c'est déjà bien mieux, et vu que celà ne concerne que ton classeur tu peux décider aussi de lui passer en paramètre une boolean Vrai ou Faux pour 'SaveChanges' :
ThisWorkbook.Close True (Ferme et sauve le classeur)
ThisWorkbook.Close False (Ferme et NE sauve PAS le classeur SANS alerte)
Pour finir, ton petit 'ESSAI' est très sympa comme exercice. Toutefois je me permets de te proposer une petite amélioration tendant à éradiquer toute sélection sur la Feuille, donc :
Au lieu de ceci :
Private Sub CB7_Click()
Feuil1.Activate
Cells(1, 16).Activate
ActiveCell.Value = TB1
ActiveCell.Offset(1, 0).Activate
ActiveCell.Value = TB2
ActiveCell.Offset(1, 0).Activate
ActiveCell.Value = TB3
ActiveCell.Offset(1, 0).Activate
ActiveCell.Value = TB4
ActiveCell.Offset(1, 0).Activate
ActiveCell.Value = TB5
Unload Me
UserForm2.Show
End Sub
Je conseille cette variante :
(en restant dans le même esprit)
Private Sub CB7_Click()
With Feuil1
With .Cells(1, 16)
.Value = TB1
.Offset(1, 0).Value = TB2
.Offset(2, 0).Value = TB3
.Offset(3, 0).Value = TB4
.Offset(4, 0).Value = TB5
End With
End With
Unload Me
UserForm2.Show
End Sub
Et dans la foulée, un autre style :
Private Sub CB7_Click()
Dim x As Byte
With Feuil1
For x = 1 To 5
.Cells(x, 16) = Me.Controls('TB' & x)
Next x
End With
Unload Me
UserForm2.Show
End Sub
Bonne Journée (T.G.I.F. !!!!)
[ol]@+Thierry[/ol]