Message: case sans select case
n
Voici mon programme qui est bloqué à case 4 et je ne comprends pas pourquoi
Private Sub CommandButton1_Click()
Sheets("ACCUEIL").Select
n = Cells(2, 2).Value
Select Case n
Case 2
a = Int(1 + Rnd * (8 - 1 + 1))
Sheets("mots+définitions").Cells(a, 4).Copy Destination:=Sheets("deux lettres").Range("C5:E5")
With Range("C5:E5")
.Font.Name = "Script MT Bold"
.Font.Size = 36
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Sheets("deux lettres").Activate
Range("D1:D2").ClearContents
Case 3
a = Int(9 + Rnd * (74 - 9 + 1))
Sheets("mots+définitions").Cells(a, 4).Copy Destination:=Sheets("trois lettres").Range("C5:E5")
With Range("C5:E5")
With Range("B6")
.Font.Name = "Script MT Bold"
.Font.Size = 28
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Sheets("trois lettres").Activate
Range("C3:E3").ClearContents
Case 4 'Message d'erreur : Case sans select Case
a = Int(75 + Rnd * (206 - 75 + 1))
Sheets("mots+définitions").Cells(a, 4).Copy Destination:=Sheets("quatre lettres").Range("C5:F5")
With Range("C5:F5")
.Font.Name = "Script MT Bold"
.Font.Size = 28
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Sheets("quatre lettres").Activate
Range("C5: F5").ClearContents
Case 5
a = Int(207 + Rnd * (346 - 207 + 1))
Sheets("mots+définitions").Cells(a, 4).Copy Destination:=Sheets("cinq lettres").Range("C5:F5")
With Range("C5:F5")
.Font.Name = "Script MT Bold"
.Font.Size = 28
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Sheets("cinq lettres").Activate
Range("B3: F3").ClearContents
Case 6
a = Int(347 + Rnd * (459 - 347 + 1))
Sheets("mots+définitions").Cells(a, 4).Copy Destination:=Sheets("six lettres").Range("C5:G5")
With Range("C5:G5")
.Font.Name = "Script MT Bold"
.Font.Size = 28
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Sheets("six lettres").Activate
Range("B3: G3").ClearContents
Case 7
a = Int(460 + Rnd * (503 - 460 + 1))
Sheets("mots+définitions").Cells(a, 4).Copy Destination:=Sheets("sept lettres").Range("C5:H5")
With Range("C5:H5")
.Font.Name = "Script MT Bold"
.Font.Size = 28
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Sheets("sept lettres").Activate
Range("B3: H3").ClearContents
Case 8
a = Int(504 + Rnd * (525 - 504 + 1))
Sheets("mots+définitions").Cells(a, 4).Copy Destination:=Sheets("huit lettres").Range("C5:I5")
With Range("C5:I5")
.Font.Name = "Script MT Bold"
.Font.Size = 28
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Sheets("huit lettres").Activate
Range("B3: I3").ClearContents
Case 9
a = Int(526 + Rnd * (531 - 526 + 1))
Sheets("mots+définitions").Cells(a, 4).Copy Destination:=Sheets("neuf lettres").Range("C5:I5")
With Range("C5:I5")
.Font.Name = "Script MT Bold"
.Font.Size = 28
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Sheets("neuf lettres").Activate
Range("B3: J3").ClearContents
Case 10
a = Int(532 + Rnd * (537 - 532 + 1))
Sheets("mots+définitions").Cells(a, 4).Copy Destination:=Sheets("dix lettres").Range("C5:K5")
With Range("C5:K5")
.Font.Name = "Script MT Bold"
.Font.Size = 28
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Sheets("dix lettres").Activate
Range("B3: K3").ClearContents
Case 11
a = Int(538 + Rnd * (539 - 538 + 1))
Sheets("mots+définitions").Cells(a, 4).Copy Destination:=Sheets("onze lettres").Range("C5:L5")
With Range("C5:L5")
.Font.Name = "Script MT Bold"
.Font.Size = 28
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Sheets("onze lettres").Activate
Range("B3: L3").ClearContents
Case 12
a = 540
Sheets("mots+définitions").Cells(a, 4).Copy Destination:=Sheets("douze lettres").Range("C5:M5")
With Range("C5:M5")
.Font.Name = "Script MT Bold"
.Font.Size = 28
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Sheets("douze lettres").Activate
Range("B3: M3").ClearContents
Case Else
a = 1
Sheets("mots+définitions").Cells(541, 4).Copy Destination:=Sheets("ACCUEIL").Range("B6")
With Range("B6")
.Font.Name = "Script MT Bold"
.Font.Size = 28
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
End Select
End Subedit moderation : macro mis entre balises code ,via le bouton "</>" du menu d'édition de message. Merci d'y penser à l' avenir.
N
Hello,
quand vous mettez du code utiliser le bouton </> c'est nettement plus facile à lire
vous avez 2 With et un seul End With
With Range("C5:E5")
With Range("B6")
.Font.Name = "Script MT Bold"
.Font.Size = 28
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End Withn
Merci beaucoup de cette réponse rapide