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 :

Zone d'impression - Pb de syntaxe [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2009
    Messages : 83
    Par défaut Zone d'impression - Pb de syntaxe
    Bonjour,

    Grâce à la fonction Concatener, j'ai défini dans ma feuille les plages de cellules concernées par la zone d'impression en fonction des choix fait par l'utilisateur.
    J'ai également ajouté une partie du code que je pense utile à l'exécution de la macro.
    Ainsi, la cellule GQ10 affiche le résultat suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Range(A79:CR140,A203:CR342).Address
    Le code VBA donne quant à lui :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Plages as String
    Plages = Range ("GQ10").Value
    ActiveSheet.PageSetup.PrintArea = "Plages"
    Cela me donne une erreur 1004, impossible de définir la propriété PrintArea de la classe PageSetup.
    J'ai essayé d'autres formulations, mais sans succès.
    La finalité est que le code doit lire la plage obtenue dans ma feuille.

    Je pense que je fais sans doute une erreur basique de débutant, mais si vous pouvez me donner un petit coup de main, je vous en serais gré.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Par défaut
    Bonjour

    pour l'écriture dans la cellule modifie par avec des " " entre les parentheses

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Range("A79:CR140,A203:CR342").Address
    et pour la lecture -> Plages sans " "

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Plages As String
    Plages = Range("GQ10").Value
    ActiveSheet.PageSetup.PrintArea = Plages

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2009
    Messages : 83
    Par défaut
    Merci pour votre réponse, mais entre temps, je viens d'essayer cette seule ligne de code et cela semble marcher, même si cela à l'air tordu ! :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.PageSetup.PrintArea = ActiveSheet.Range(Range("GQ10").Value).Address
    Qu'en pensez-vous ? une meilleur idée ?

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Par défaut
    re

    Si la valeur dans la cellule est bonne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.PageSetup.PrintArea = ActiveSheet.Range("GQ10").Value
    suffit non ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2009
    Messages : 83
    Par défaut
    C'était ma première idée, mais cela ne marche pas !
    Cela déclenche un message d'alerte : "la zone d'impression que vous avez définie ne comporte qu'une seule cellule. ...."
    Donc le contenu de la cellule n'est pas lu, c'est la référence de cellule qui est pris en compte.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Par défaut
    re

    pour mettre l'adresse dans la cellule GQ10 tu utilse bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("GQ10") = Range("A79:CR140,A203:CR342").Address
    ce qui doit t'écrire $A$79:$CR$140,$A$203:$CR$342 dans la cellule GQ10


    Sinon pourquoi ne pas utiliser directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActiveSheet.PageSetup.PrintArea = "A79:CR140,A203:CR342"

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

Discussions similaires

  1. [VBA-E]Definir une zone d'impression
    Par byflo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/06/2006, 10h29
  2. [VBA-E] Range de la page d'une zone d'impression ?
    Par JulienCEA dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 22/05/2006, 16h39
  3. Réponses: 8
    Dernier message: 10/03/2006, 02h05
  4. Vba excel agrandir la zone d'impression a droite
    Par mb95 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/12/2005, 08h42
  5. définir une zone d'impression sous Excel
    Par mirumoto dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/11/2005, 13h26

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