ShowAllData de la classe Worksheet a échoué
bonsoir a tous
juste un soucis avec le code d'impression qui fonctionne très bien
mais si je n'écris rien dans le userform et appui sur "avant impression"
il m'affiche tout ma base et en ferment l'apercu
erreur d'exécution 1004
la méthode ShowAllData de la classe Worksheet a échoué
voici le code en question
Private Sub CmbValider_Click()
Unload Me
Application.ScreenUpdating = False
Sheets("BASE").Visible = True
Sheets("BASE").Activate
Sheets("BASE").Range("c5") = TextBox1.Value
Range("B4").Select
Dim DerLig As Long
DerLig = Cells.Find("*", , , , xlByRows, xlPrevious).Row
Range("b4:g" & DerLig).Name = "base"
Range("base").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("B4:G5"), Unique:=False
Range("b1:g" & DerLig).Select
ActiveSheet.PageSetup.PrintArea = Selection
Sheets("BASE").Select
Rows("5:5").Select
Selection.EntireRow.Hidden = True
Range("A1").Select
MsgBox "Affiche l'apercu avant impression, cliquez sur imprimer pour continuer"
ActiveWindow.SelectedSheets.PrintPreview
ActiveSheet.ShowAllData 'reactiv les lignes de la "BASE"
Range("A1").Select
Sheets("BASE").Visible = False
Application.ScreenUpdating = True ' Autorise le raffraichissement écran
UserForm2.Show ' Affiche l'Userform
End Sub
je joins un fichier exemple
A+
Cordialement Aiglon74
bonjour a tous
voici la solution que j'ai mis en place
Private Sub CommandButton1_Click()
'aiglon74
Unload Me
End Sub
Private Sub CmbValider_Click()
'aiglon74
Unload Me
Application.ScreenUpdating = False
If TextBox1 = "" Then
'Message à l'utilisateur
MsgBox "Marquer une référence obligatoire.", vbInformation
'sortie de la procédure
Application.ScreenUpdating = True ' Autorise le raffraichissement écran
UserForm2.Show ' Affiche l'Userform
Exit Sub
End If
Sheets("BASE").Visible = True
Sheets("BASE").Activate
Sheets("BASE").Range("c5") = TextBox1.Value
Range("B4").Select
Dim DerLig As Long
DerLig = Cells.Find("*", , , , xlByRows, xlPrevious).Row
Range("b4:g" & DerLig).Name = "base"
Range("base").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("B4:G5"), Unique:=False
Range("b1:g" & DerLig).Select
ActiveSheet.PageSetup.PrintArea = Selection
Sheets("BASE").Select
Rows("5:5").Select
Selection.EntireRow.Hidden = True
Range("A1").Select
'MsgBox "Affiche l'apercu avant impression, cliquez sur imprimer pour continuer"
ActiveWindow.SelectedSheets.PrintPreview
ActiveSheet.ShowAllData 'reactiv les lignes de la "BASE"
Range("A1").Select
Sheets("BASE").Visible = False
Application.ScreenUpdating = True ' Autorise le raffraichissement écran
UserForm2.Show ' Affiche l'Userform
End Sub
je joins un fichier
aiglon74
Bonjour
Et si tu remplaces :
ActiveSheet.ShowAllData
par :
If FilterMode = True Then ActiveSheet.ShowAllData
cela beuguerait toujours ?
Bye !
Bonjour gmb
cela fonctionne très bien
avec ton code
merci pour ton aide
et si on marque une référence qui n'est pas dans ma base
on pourrait avoir un message du style référence non valide
A+
aiglon74