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 :

[VBA Excel] On error resume next


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 129
    Par défaut [VBA Excel] On error resume next
    Bonjour,

    Je n'arrive pas à utiliser
    On error que ce soit On error Goto ou On error Resume Next

    Pourtant ca ne semble pas compliqué mais je n'y arrive pas...

    Voila mon code :

    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
    Sub mise_en_avant(etude_top)
    With ActiveSheet
        select_min = (etude_top - 1) * 30 + 1
        select_max = (etude_top - 1) * 30 + 29
        ligne_max = WorksheetFunction.CountA(ActiveSheet.Columns(select_min))
        .Cells.EntireColumn.Hidden = True
        .Cells(1, select_min).Select
        .Range(ActiveSheet.Cells(1, select_min), .Cells(ligne_max, select_max)).CurrentRegion.EntireColumn.Hidden = False
        ActiveWindow.View = xlPageBreakPreview
        .PageSetup.PrintArea = .Range(ActiveSheet.Cells(1, select_min), .Cells(ligne_max, select_max)).CurrentRegion.Address
        on error Resume Next
        .VPageBreaks(1).DragOff Direction:=xlToRight, RegionIndex:=1
        Call mise_en_forme(select_min, select_max)
    End With
    End Sub
    En fait c'est la ligne ci dessous qui pose pb avec l'erreur 9 : l'indice n'appartient pas à la selection :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VPageBreaks(1).DragOff Direction:=xlToRight, RegionIndex:=1
    la macro ne doit l'executer que la 1ere fois ou l'utilisateur consulte... j pensais donc le faire avec On error...

    Qqn a une idée ?

    Merci d avance

  2. #2
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    la macro ne doit l'executer que la 1ere fois ou l'utilisateur consulte... j pensais donc le faire avec On error...
    Dans le genre: "Ce message s'autodétruira dans 15 secondes" ?
    C'était pour rire...

    Dis moi si j'ai bien compris. Tu voudrais qu'une des instruction de la macro ne s'exécute qu'une seule fois et après, plus du tout ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 129
    Par défaut
    Exact, c'est tt a fait ca.

    Merci d'avance

  4. #4
    Membre éclairé Avatar de doringen
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 73
    Par défaut
    sinon, crée un compteur et stocke le stocke quelque part dans ta feuille, puis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub Makro1()
    '...
    ' ton code
    '...
     
    If Range("A1").Value = "0" Then
    ActiveSheet.VPageBreaks(1).DragOff Direction:=xlToRight, RegionIndex:=1
    Range("A1").Value = "1"
    End Sub

  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
    Par défaut
    Meûh non, c'est très bien une gestion d'erreur et ça simplifie le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        on error Resume Next
        .VPageBreaks(1).DragOff Direction:=xlToRight, RegionIndex:=1
        if not err then Call mise_en_forme(select_min, select_max)
    A+

    NB - Quelque soit la valeur de l'erreur, si elle existe err sera testé True
    Tu peux tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub RaiseValeur()
    On Error Resume Next
    Err.Raise 9
    If Err Then MsgBox "Coucou"
    End Sub
    PS - Salut zaza pas trop froid ?

  6. #6
    Membre éclairé Avatar de doringen
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 73
    Par défaut
    Citation Envoyé par alex_95
    la macro ne doit l'executer que la 1ere fois ou l'utilisateur consulte...
    du coup, j´avais compris que l´information devait rester disponible, y compris pour des exécutions ultérieures de la même macro par l´utilisateur.
    D´où l ídée de figer l´information dans un onglet (on ne va pas dire la graver dans la pierre, mais cela a déjà une durée de vie plus appréciable qu´une variable dans l´exection d´une sub).

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

Discussions similaires

  1. "On error Resume Next" Général
    Par Zorgloub dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 27/02/2008, 15h18
  2. On error resume next
    Par nephhh dans le forum C#
    Réponses: 2
    Dernier message: 26/04/2007, 14h00
  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