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 :

gerer on error go/resume


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Inscrit en
    Août 2008
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 141
    Points : 84
    Points
    84
    Par défaut gerer on error go/resume
    bonjour,
    j'ecris un code que je veux faire fonctionner sur plusieurs postes mas qui du coup exige une synthaxe diffrrent pour cela j'ai tente les ccodes suivants
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
     
        On Error Resume Next
     
        Application.ActivePrinter = "PDFCreator on Ne02:"
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
            "PDFCreator on Ne01:", Collate:=True
     
    Next: Application.ActivePrinter = "PDFCreator on Ne01:"
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
            "PDFCreator on Ne01:", Collate:=True
    End Sub
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
     
        On Error GoTo blabla
     
        Application.ActivePrinter = "PDFCreator on Ne02:"
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
            "PDFCreator on Ne01:", Collate:=True
     
    blabla:Application.ActivePrinter = "PDFCreator on Ne01:"
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
            "PDFCreator on Ne01:", Collate:=True
    End Sub
    ni l'un ni l'aute ne fonctionne. quequ'un connaitrait il la synthaxe correcte?
    merci d'avance, cheers

  2. #2
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Salut Will,

    quelques remarques :

    Next n'est pas un label mais l'indication de reprendre en cas d'erreur à l'instruction suivant celle qui suit cette instructiuon.

    Faut pas mélanger tout

    je n'aime pas ce genre de code, c'est sale.
    As-tu essayé de travailler avec ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
        Application.ActivePrinter = "PDFCreator"
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
            "PDFCreator", Collate:=True
     
     
    End Sub
    Si cela ne marche pas, il existe du code pour trouver les imprimantes installées et alors tu pourrais éviter ta gestion d'erreur un peu "spéciale".
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Je suppose que ce qui t'intéresse est d'utiliser l'imprimante correspondante quelque soit le poste... Pour celà, tu pourrais tester ça...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim i as Integer
        Do 
            Err.clear
            i = i + 1
            On Error Resume next
            Application.ActivePrinter = "PDFCreator on Ne0" & i & ":"
            ActiveWindow.SelectedSheets.PrintOut Copies:=1
        Loop While err.number <> 0 and i < 10
        On error goto 0
    End Sub
    A défaut de mieux.
    Pourquoi limiter à 9 ? Parce qu'il serait bien étonnant que tu en aies plus mais aussi parce sinon ça complique le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            Application.ActivePrinter = "PDFCreator on Ne" & right("0" & i & ":",3)

    Bon après-midi

  4. #4
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Bonjour Ouskelnor,

    il me semblait que ceci allait planter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            On Error Resume next
            Application.ActivePrinter = "PDFCreator on Ne0" & i & ":"
            ActiveWindow.SelectedSheets.PrintOut Copies:=1
    Non ?
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Citation Envoyé par Godzestla Voir le message
    il me semblait que ceci allait planter
    Non ?
    Pas testé, tu l'as fait ?

    Edit
    Testé, pas de problème

  6. #6
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Testé, pas de problème
    Parfait merci. Pas pu testé, car par ce genre de printer.
    J'imaginais que sans PDFCREATOR on Ne1, l'instruction appelée par resume next,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActiveWindow.SelectedSheets.PrintOut Copies:=1
    allait planter.

    Bonne après-midi à toi.
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu peux tester, nous avons tous un N° de "canal" dès lors que nous avons plus d'une imprimante. Test ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Msgbox Application.ActivePrinter
    Dans le cas contraire (une seule imprimante) je ne sais pas.
    A+

  8. #8
    Membre régulier
    Inscrit en
    Août 2008
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 141
    Points : 84
    Points
    84
    Par défaut cela a fonctionne
    le code a fonctionne mais peut etre ccela est du a ce que nos"Ne" vont de 1 a8..

  9. #9
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    j'ai testé.... et chez moi cela ne marche pas comme je le préssentais.
    (désolé d'insister).

    Je n'ai pas de Pdfcreator, mais j'assimile cela à pas de Pdfcreator on Ne1, et je suppose que toi tu l'as.

    le code me crache 10 fois ma liste sur l'imprimante par défaut.

    C'est ce que je voulais dire par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            On Error Resume next
            Application.ActivePrinter = "PDFCreator on Ne0" & i & ":"
            ActiveWindow.SelectedSheets.PrintOut Copies:=1
    il me semble que le code juste serait plutot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim i as Integer
        Do 
            Err.clear
            i = i + 1
            On Error Resume next
            Application.ActivePrinter = "PDFCreator on Ne0" & i & ":"
        Loop While err.number <> 0 and i < 10
        On error goto 0
        ActiveWindow.SelectedSheets.PrintOut Copies:=1
    End Sub
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

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

Discussions similaires

  1. error et resume next
    Par Papy214 dans le forum VBScript
    Réponses: 5
    Dernier message: 02/10/2010, 12h19
  2. [VBA Excel] On error resume next
    Par alex_95 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/03/2007, 19h20
  3. [VBA-E] On error resum next
    Par Phenx dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/09/2006, 17h27
  4. On Error Resume Next existe il en java??
    Par the_zurg dans le forum Général Java
    Réponses: 9
    Dernier message: 01/06/2006, 22h38
  5. Réponses: 2
    Dernier message: 28/04/2006, 14h10

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