Bouton d'action dans excel 2003

Résolu
Bonjour,

J'ai créé un formulaire dans excel, avec plusieurs plans (parties que je voudrait masquer en fait au moment de l'impression)

Le problème c'est que je ne manipule pas bien les macros sous excel et je ne sais pas comment raccorder une macro à un bouton d'action

Je souhaiterai en fait, en cliquant sur un bouton, masquer les "plans" et lancer l'impression du document...

Est-ce que quelqu'un peu m'aider,

Merci

Joss

11 réponses

  1. Re,

    Confirme moi que ton problème est résolu que je mette le statut de la discussion qu'il convient
    0
    1. Ok ça marche

      Merci à toi

      Joss
      0
      1. Re,

        Si tu dois déplacer un fichier, il faudra revoir le code sinon mets tes fichiers dans un répertoire et déplace le répertoire.
        Pour ouvrir un fichier automatiquement depuis un bouton, pour ne pas tromper dans l'écriture du chemin de ton fichier, serts toi de l'assistant macro (Enregistree une macro/ouvres le fichier/Arrêtes l'enregistrement macro)

        et copies la partie du code concernant le chemin qui devrait ressembler à ceci dans ton code ou dans les propriétés d'un CommandButton

        Workbooks.Open Filename:= _
        "C:\Documents and Settings\Administrateur\Bureau\Bureau\Ouverture Simultané de fichiers\Nom du fichier.xls"
        0
        1. Salut Mike,

          J'ai une autre question s'il te plait

          Donc maintenant, à partir d'un bouton d'action sur une feuille excel, je souhaiterai ouvrir un autre fichier excel...

          Est-ce que tu aurais la petite procédure à me donner, en sachant bien sûr que je voudrait "figer" le chemin d'accès du fichier (au cas au je déplace le répertoire contenant les fichiers rliés à mes boutons d'action)

          Merci pour ton aide

          Joss
          0
          1. Ok nickel !!!!

            Merci pour ton aide précieuse !!!

            Je te recontacte si j'ai besoin d'autre chose

            Merci beaucoup

            Joss
            0
            1. Re,

              Sur les mêmes bases, colonnes de D à E et G et lignes 16 à 17 et 20 masquées

              Sub Macro2()
              '
              'Cette ligne masque les colonnes D à E et G
              [D:E,G:G].EntireColumn.Hidden = True
              'Cette ligne masque les lignes 16 à 17 et 20
              [16:17,20:20].EntireRow.Hidden = True
              'Cette ligne déclenche l'impression
              'Aperçu avant impression
              ActiveWindow.SelectedSheets.PrintPreview
              End Sub
              0
              1. Ok d'accord, c'est très clair !!!

                Par contre, pour mon problème "aperçu avant impression" au lieu de "impression automatique", est-ce que tu as une suggestion à me faire

                Je voudrait en fait que l'utilisateur puisse visualiser le résultat du bouton d'action et e lui de décider s'il veut l'imprimer... vois-tu ce que je veux dire

                Merci

                Joss
                0
                1. Re,

                  Pour les lignes contigües, si tu écris 16:20 se sont les lignes de 16 à 20 qui seront masquées si tu souhaites masquer la ligne 16 et 20 par exemple tu écriras le code comme cela 16:16,20:20 et tout cela entre crochet [] ou Range("16:20 ")
                  et Range("16:16,20:20 ")

                  le code s'exécutera toujours sur les lignes définis dans le code, si tu ajoutes des lignes au dessous de la ligne 20 par exemple pas de problème par contre si tu ajoutes des lignes au dessus des lignes définis dans le code se seront toujours les lignes prédéfinies qui se masqueront. Contrairement aux formules un code macro ne se modifie pas automatiquement, il te faudra revoir le code
                  0
                  1. Ok mike !!! ça fonctionne
                    Mais par contre, après coup, je ne souhaite plus imprimer automatiquement mais simplement avoir l'aperçu avant impression, j'ai essayé de changer le "PrintOut" en "AcPreview" mais sans succes... je dois faire une erreur quelque part... mais quoi ???

                    merci à toi

                    Joss
                    0
                    1. Salut,

                      crées un bouton avec la barre d'outil contrôle, double clic sur le bouton et colles la partie en gras entre les deux lignes des propriétés du bouton
                      les lignes précédées d'une apostrophe sont les explications du code
                      avant End Sub tu peux rajouter l'activation d'une cellule ex. [A1].select

                      Private Sub CommandButton1_Click()
                      'Cette ligne masque les colonnes D à E et G
                      [D:E,G:G].EntireColumn.Hidden = True
                      'Cette ligne masque les lignes 16 à 17 et 20
                      [16:17,20:20].EntireRow.Hidden = True
                      'Cette ligne déclenche l'impression
                      ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
                      'ces deux lignes affichent les colonnes et lignes masquées après impression
                      [D:E,G:G].EntireRow.Hidden = False
                      [16:17,20:20].EntireColumn.Hidden = False

                      End Sub
                      1
                      1. Ok mike pour ton explication, ça me paraît tès clair (comme je fait un peu de VB sous access... ça va je comprend, ç'est pas si différent à voir)
                        Par contre, dans les lignes à masquer (en fait c'est des tableaux, je voulais savoir, si j'enser une ligne entre deux (ex : entre 16 et 17) est-ce que ce petit code va étendre automatiquement la sélection ??? ou si j'inser (pour x raison) quelques lignes au dessus de la ligne 16, est-ce que la sélections des lignes au départ (ici 16:17...) vont devenir "ex : 30:32...
                        merci à toi
                        0