IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Visualiser l'aperçu d'une autre feuille et enregistrer


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    amateur
    Inscrit en
    Décembre 2019
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : amateur
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2019
    Messages : 53
    Points : 50
    Points
    50
    Par défaut Visualiser l'aperçu d'une autre feuille et enregistrer
    Bonjour,
    Je voudrais à partir de la feuille 1 afficher l'aperçu de la feuille 2 ( plage A2:L20).
    L'aperçu doit comporter 2 menus (imprimer et fermer l'aperçu) sans autre option, pour à la sortie arriver sur la question 'enregistrer en pdf ou annuler.

    j'ai tenté ceci (qui n'est pas bon...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    sub apercu()
     
    Application.Dialogs(xlDialogPrintPreview).Show false arg1:=Sheets(feuille2) ' erreur dans le code
     
    Dim retour As Byte
         r = (MsgBox " Enregistrer le document ? " & vbYesNo + vbquestion, " sauvegarde")
           If (r = 7) then
            exit sub
           End If
     
    (si oui):
    enregistrement ...
    sub End
    Merci de votre patience!

  2. #2
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 926
    Points
    55 926
    Billets dans le blog
    131
    Par défaut
    Salut.

    Il faut respecter la syntaxe. Si tu as une ligne en rouge, c'est qu'il y a un problème de syntaxe qu'il faut régler. Normalement, tu as une aide avec infobulle lorsque tu saisis ton code et que tu types bien les variables.

    Nom : 2021-05-20_204827.png
Affichages : 119
Taille : 4,8 Ko

    Dans l'illustration ci-dessus, tu vois que l'infobulle t'aide pour la saisie, en mettant en gras l'argument qui est attendu. En VBA, les arguments sont séparés par des virgules, et tu peux suivre ce qui t'est demandé.

    La variable utilisée pour la réponse au MsgBox peut être typée VbMsgBoxResult. De cette façon, tu n'as pas besoin de connaître la valeur de la réponse (6 ou 7, par exemple), car le VBE te proposera la liste des constantes nommées disponibles:

    Nom : 2021-05-20_205242.png
Affichages : 120
Taille : 2,0 Ko


    De plus, il est plus intéressant de tester qu'on a répondu OUI (vbYes) plutôt que de sortir avec un Exit Sub sur le vbNo (Je déteste les EXIT et j'explique pourquoi)


    Voici quelque chose qui devrait ressembler à ce que tu souhaites réaliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub apercu()
      Dim r As VbMsgBoxResult
     
      Feuil2.PrintPreview
      r = MsgBox("Enregistrer le document?", vbYesNo + vbQuestion, "sauvegarde")
      If r = vbYes Then ThisWorkbook.Save
    End Sub

    PS: Il est préférable de démarrer une nouvelle discussion lorsque le problème rencontré sort du cadre de la discussion initiale. Je l'ai fait pour toi sur ce message
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Membre du Club
    Homme Profil pro
    amateur
    Inscrit en
    Décembre 2019
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : amateur
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2019
    Messages : 53
    Points : 50
    Points
    50
    Par défaut
    Merci pour les remarques constructives, j'exit le 'exit sub' du code

    Je poursuis le chantier!

    Merci et bonne journée
    Fredym

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Copier colonnes suivant leur nom dans une autre feuille
    Par paflolo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/10/2006, 14h49
  2. Réponses: 1
    Dernier message: 17/10/2006, 17h37
  3. comment ouvrir une autre feuille a partir de la feuille principale?
    Par nh783 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 07/08/2006, 15h18
  4. [VBA-E]Copier une serie de cellules dans une autre feuille
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/03/2006, 17h23
  5. SetFOcus sur un contrôle d'une autre feuille d'un multipage
    Par MacGeol dans le forum VB 6 et antérieur
    Réponses: 29
    Dernier message: 07/09/2005, 09h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo