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 :

code partage qui a opere differemment sur un poste


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 141
    Par défaut code partage qui a opere differemment sur un poste
    bonjour , jai un code qui permet de sauvegarder un pdf de document via un bouton.
    le probleme est le suivant sur un des postes au lieu d faire un sauvegarde comme les auter il lance une impression de 10 copies du document ... etrange
    est ce que quelqu un saurait pourquoi?
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Private Sub CommandButton2_Click()
     
     
     
    Dim nom As String
     
    nom = InputBox("enter the name of the file:")
     
    If nom = "" Then
    ThisWorkbook.Close False
     
     Else: ThisWorkbook.SaveAs Filename:="\\smb2lonib\" & nom & ".xls"
     
     
     
    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 If
     
     
    End Sub

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    Ah, les joies de On Error Resume Next ....

    Au bout d'un moment ===>> imprimante par défaut... 10 fois (puisque 10 fois allons-y même si erreur...)

  3. #3
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 141
    Par défaut reponse non comprise
    ce code est cense lancer pdf creator pour enregistrer le document . En aucun cas l'imprimer . je n'ai d'ailleurs pas de probleme sur les autres postes..

  4. #4
    Membre éclairé Avatar de casavba
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 464
    Par défaut
    PDF Creator est Bien installé dans les autres postes ??

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Citation Envoyé par will Igetit Voir le message
    ce code est cense lancer pdf creator pour enregistrer le document . En aucun cas l'imprimer . je n'ai d'ailleurs pas de probleme sur les autres postes..
    Ah ...
    et que fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ActiveWindow.SelectedSheets.PrintOut Copies:=1
    lorsque "ton" imprimante n'étant pas trouvée, le On Error Resume Next ignore cet échec, sinon exécuter sur l'imprimante par défaut ?

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Un exemple (je ne veux pas écrire ton code) pour alimenter ta réflexion :

    3 boutons de commande.

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Private Sub Command1_Click()
      Dim i As Integer
        Do
            Err.Clear
            i = i + 1
            On Error Resume Next
            toto = 1 / 0 'donc erreur générée ici
            MsgBox "coucou " & i & " fois l'exécutuin en dépit de l'erreur"
        Loop While Err.Number <> 0 And i < 10
        On Error GoTo 0
       MsgBox "j'ai essayé " & i & " fois et ai lancé autant de fois la msgbix indûment"
    End Sub
     
    Private Sub Command2_Click()
      Dim i As Integer
        Do
            Err.Clear
            i = i + 1
            On Error Resume Next
            toto = 1 / 0 'donc erreur générée ici
            If Err = 0 Then
              MsgBox "coucou " & i & " fois"
              Exit Do
            End If
        Loop While i < 10
       MsgBox "j'ai essayé " & i & " fois mais n'ai pour autant jamais lancé la msgbox"
    End Sub
     
    Private Sub Command3_Click()
      Dim i As Integer
        Do
            Err.Clear
            i = i + 1
            On Error Resume Next
            toto = 1 / 2 'donc pas d'erreur provoquée
            If Err = 0 Then
              MsgBox "coucou " & i & " fois"
              Exit Do
            End If
        Loop While i < 10
       MsgBox "j'ai essayé " & i & " fois mais n'ai pour autant jamais lancé la msgbox 10 fois !"
    End Sub
    compare les 3 effets... analyse, comprends et sers-t-en

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Par défaut
    Juste par rapport à ce que tu as écrit ucfoutu: ne serait-il pas plus pertinent de réinitialiser le code d'erreur à l'intérieur du test de code d'erreur avec un else?

    Pour ma part je fais systématiquement le err.clear dans cette condition, car il est sémantiquement plus logique de dire au programme qu'il n'y a plus d'erreur puisqu'on vient de la traiter.

    Après, chacun sa façon de faire, mais pour ma part je privilégie la sémantique à la simplicité et aux "trucs bricolés".

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

Discussions similaires

  1. Code qui marche sur un poste mais pas sur un autre
    Par TOSCAN dans le forum Langage
    Réponses: 5
    Dernier message: 11/06/2008, 21h09
  2. POPUP qui lance l'impression sur le poste client
    Par c.betty dans le forum ASP.NET
    Réponses: 9
    Dernier message: 03/03/2008, 16h11
  3. Réponses: 6
    Dernier message: 10/09/2007, 08h13
  4. Code qui ne marche plus sur IE7 Beta
    Par Death83 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/03/2006, 00h15
  5. Code qui ne fonctionne pas sur Mac
    Par malbaladejo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/01/2005, 11h08

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