cpsfg
Messages postés6Date d'inscriptionlundi 12 juin 2006StatutMembreDernière intervention29 juin 2006
-
12 juin 2006 à 15:57
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
13 juin 2006 à 14:15
Bonjour à tous,
Dire que j'ai un petit souci est une lapalissade...J'explique :
Je suis en VBA sur Excel. J'ai cré des formulaires avec des boutons auxquels j'ai affecté des macros.
Sur l'un des formulaires, j'ai des informations à renseigner. Ensuite, je veux qu'en cliquant sur un bouton nommé "Imprimer", la macro recopie les données saisies dans une feuille (nommée BC). Jusqu'ici ca marche. Après je souhaite imprimer la feuille, et là, ca ne marche plus. Pour être tout à fait précis, lorque j'éxecute le code dans le script, la macro fonctionne bien. Mais lorsque je l'éxecute à partir du bouton du formulaire, le message suivant s'affiche "Erreur d'éxecution 1004 La méthode PrintOut de la classe WorkSheet a echoué"
Ci dessous les macros correspondantes :
'Confirmation Impression
Sub Confirmation_Impression()
Dim Retour As Integer
Retour = MsgBox("Lancer l'impression ?", vbOKCancel + vbInformation + vbDefaultButton1, "Confirmation")
If Retour = vbCancel Then
ActiveDialog.Activate
Else
Impression
End If
End Sub
'Imprimer
Sub Impression()
WorkSheets("BC").Activate
ActiveSheet.PrintOut 1, 1, 1, True 'L'erreur ce situe à ce niveau là d'après le debogeur'
End Sub
Je vous remercie d'avance pour tous les bons tuyaux que vous saurez m'apporter....
cpsfg
Messages postés6Date d'inscriptionlundi 12 juin 2006StatutMembreDernière intervention29 juin 2006 12 juin 2006 à 18:10
Salut,
Merci pour le conseil mais malheureusement toujours le même format d'erreur (ca marche dans le script mais pas lors de l'éxecution de la macro normal)
Je l'ai écrit comme ça
'Imprimer
Sub Impression()
WorkSheets("BC").Activate
ActiveSheet.PrintOut
End Sub
et aussi comme ça
'Imprimer
Sub Impression()
WorkSheets("BC").Activate
ActiveSheet.PrintPreview
ActiveSheet.PrintOut
End Sub
C'est à n'y rien comprendre, j'ai regardé l'aide Visual Basic, il écrive pourtant le code de cette manière ActiveSheet.PrintOut.
cpsfg
Messages postés6Date d'inscriptionlundi 12 juin 2006StatutMembreDernière intervention29 juin 2006 13 juin 2006 à 09:41
Bonjour,
Je viens d'essayer les solutions que tu proposes, mais encore une fois, rien n'y fait. Je n'y comprend rien. Les commandes marchent toujours dans le script, mais toujours pas dans la feuille Excel.
Merci encore à ceux qui pourront m'aider.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 13 juin 2006 à 11:43
Salut,
Tu peux aussi essayer avec l'index de la feuille, sait on jamais :
Sheets(1).PrintOut.
Mais un moment tu dis que tu as affecté la macro au bouton "imprimer".
Enlève l'affectation et double click sur ce bouton (en mode création) puis dans le code, met cette instruction :
Call Confirmation_Impression
Autant tout essayer...
Bon courage
@++
Mortalino
Le Mystérieux Chevalier "Provençal, le Gaulois"
N'oubliez pas de lire le règlement
cpsfg
Messages postés6Date d'inscriptionlundi 12 juin 2006StatutMembreDernière intervention29 juin 2006 13 juin 2006 à 13:28
Merci Mortalino pour ton aide
Finalement j'ai transformé ce que je voulais faire. J'ai mis un simple bouton sur la feuille Excel concernée, et là, ca marche.
Encore merci, tes conseils me seront certainement utile pour un prochain développement.