>>>VRAIMENT URGENT!!!<<< Excel,MDI,Collage special
cs_Zoz
Messages postés6Date d'inscriptionlundi 15 avril 2002StatutMembreDernière intervention16 février 2004
-
22 avril 2002 à 08:22
cs_DeathAngel
Messages postés117Date d'inscriptionvendredi 12 avril 2002StatutMembreDernière intervention13 avril 2007
-
22 avril 2002 à 14:10
Salut,
Bon voila , j'ai pleins de petites questions en esperant que quelqu'un pourra m'aider:
- Donc voila j'ai une variable Excel.application et une excel.workbook . La workbook pointe sur un classeur de la variable application.
J'utilise une interface MDI et je voudrai afficher l'application Excel (ou encore mieux seulement le classeur) dans mon MDI , comment faire ?
- Comment faire aussi pour enlever le menu et les barres d'outils D'excel ?
-Au niveau de l'impression , comment faire pour que l'echelle soit respectée et que l'impression ne prenne pas 2 pags en largeur?
-Comment marche le pastespecial ? J'aurais besoin de coller juste les valeurs , sans les formules . Quels sont les parametres a utiliser ?
-Enfin , dans une fonction du menu (print_click()) ,
J'ouvre un form qui demande les feuilles a imprimer puis apres la Common dialog Box d'impression . Comment fair e pour que cette derniere ne s'affiche qu'une fois le form d'avant fermé ?
cs_DeathAngel
Messages postés117Date d'inscriptionvendredi 12 avril 2002StatutMembreDernière intervention13 avril 2007 22 avril 2002 à 14:10
Salut,
Bon, je vais essayer de répondre à tes questions ;)
- Donc voila j'ai une variable Excel.application et une excel.workbook . La workbook pointe sur un classeur de la variable application.
J'utilise une interface MDI et je voudrai afficher l'application Excel (ou encore mieux seulement le classeur) dans mon MDI , comment faire ?
>Ben là, je vois rien d'autre qu'un contrôle OLE (là, tu ne verra que le classeur). Mais bon, je l'utilise que très rarement. Tu dois l'avoir dans la liste des contrôles (un icône avec OLE écrit dessus, tu peux pas le rater:)). Si tu as besoin d'aide là-dessus en particulier, maile-moi, je vais essayer de me remettre en tête la façon dont on l'utilise =P
- Comment faire aussi pour enlever le menu et les barres d'outils D'excel ?
>Ben si tu utilise le contrôle OLE, plus besoin de faire ça. Sinon, et pour info, tu peux faire ce que tu veux avec les menus. Seule chose à garder à l'esprit : Toujours remettre les menus et autres boutons tels qu'ils étaient au départ !
Donc, voilà comment faire :
/!\ : Ce code fonctionne en VBA EXCEL, pour que cela fonctionne en VB, je pense qu'il faut rajouter le nom de ta référence au workbook (ex : CommandBars(i) -> wkbMonWorkBook.CommandBars(i))
Dans le Général :
'Tableau contenant l'état des barres d'outils visible ou non
Global Etat_Barre_Outil() As Boolean
Macro à appeler à l'ouverture du workbook
Sub Masque_barre_outils()
'Cette procédureb masque les barres d'outils d'Excel
'avant de les masquer elle sauvegarde les barres d'outils
'pour les remettre avant de quitter
Dim i As Integer
On Error GoTo Masque_barre_outils_Err
'On redimensionne le tableau d'état des barres d'outils avec le nombre de barres d'outils
ReDim Preserve Etat_Barre_Outil(CommandBars.Count)
For i = 1 To CommandBars.Count
On Error Resume Next
'On stocke l'état de la barre d'outil
Etat_Barre_Outil(i) = CommandBars(i).Visible
CommandBars(i).Visible = False
Next i
Sub Affiche_barre_outils()
'Cette procédure affiche les barres d'outils d'Excel
'qui étaient visible avant le lancement de l'application
Dim i As Integer
On Error GoTo Affiche_barre_outils_Err
For i = 1 To CommandBars.Count
On Error Resume Next
CommandBars(i).Visible = Etat_Barre_Outil(i)
Next i
-Comment marche le pastespecial ? J'aurais besoin de coller juste les valeurs , sans les formules . Quels sont les parametres a utiliser ?
>Va dans l'aide de Excel, c'est la fonction pasteSpecial.
-Enfin , dans une fonction du menu (print_click()) ,
J'ouvre un form qui demande les feuilles a imprimer puis apres la Common dialog Box d'impression . Comment fair e pour que cette derniere ne s'affiche qu'une fois le form d'avant fermé ?
>Là, je vois pas trop ton problème. Tu peux donner un exemple, ou un bout de ton code ?
Sur ce ,
Merci .
Zoz ,
French AmigaZone www.multimania.com/lazoz
>De rien :)
Pour info, pour les newbies en VBA, il existe dans Word et Excel une barre d'outils VB (Affichage/Barres d'outils/Visual Basic). Grâce à elle, vous pouvez retrouver la majeure partie des commandes VBA. Il vous suffit de cliquer sur le bouton d'enregistrement, de choisir un nom pour la macro, puis de faire la manip' que vous voulez automatiser (ici par ex, pour forcer l'impression sur une page en largeur, il faut faire Fichier/Mise en page, cocher la case qui force l'échelle, et fermer la boîte de dialogue). Puis vous appuyez sur le bouton stop, et vous cliquez sur le bouton qui permet d'accéder au code. Et voilou =D