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 :

Gestion erreur 1004


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4
    Par défaut Gestion erreur 1004
    Bonjour(soir)

    Voila mon problème réside dans la gestion de l'erreur 1004 comme l'indique le titre.

    En effet je n'arrive pas à bien positionner sa recherche dans ma procédure.
    Dans la configuration affichée en citation, si la personne recherche un stagiaire inexistant cela fonctionne. En revanche si l'utilisateur recherche un stagiaire existant, il m'affiche tout de même le message d'erreur de la gestion d'erreur et de ce fait sort du programme sans afficher les informations demandées.

    J'espère que je trouverais parmi vous une âme charitable qui me tirera cette épine du pied.

    Je vous souhaite une bonne journée (soirée)

    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Sub RechercheNom()
        Dim iG, iSSup As Integer                                    'Indice feuille General, Indice stage supplémentaire
        Dim NomSta, TestG, TestSSup As String                       'Nom du stagiaire, Valeur Test General, Test Stage supplémentaire
        
        Sheets("Formulaire").Select
        NomSta = Range("F4").Text
        
    Erreur:
        If Err.Number = 1004 Then
            If MsgBox("Le stagiaire ou le stage n'a pas été trouvé. SVP corriger et cliquer Ok" & _
                vbCrLf & "ou cliquer annuler", vbOKCancel) = vbOK Then
                Resume
            End If
        End If
    
        If NomSta = "" Then
            MsgBox ("Veuillez saisir le NOM et le Prénom du stagiaire " & Chr(10) & _
            "ou le numéro de stage à chercher.")
            Range("F4").Select
        Else
            Sheets("General").Select
            iG = 3                                                  'Initialisation du curseur à la ligne 2
            TestG = Range("C" & iG).Text
            While TestG <> NomSta                                   'Recherche du nom dans le tableau
                iG = iG + 1
    
                TestG = Range("C" & iG).Text
    
    'Gestion d'erreur
        On Error GoTo Erreur:
            MsgBox ("Le stagiaire n'a pas été trouvé. Vérifiez la saisie.")
            Sheets("Formulaire").Select
            Range("F4").Select
            Exit Sub
    
            Wend
            
            iSSup = iG + 1
            If Range("C" & iSSup).Text = "" Then                    'S'il existe une date supplémentaire de stage
                If Range("A" & iSSup).Text = "" Then
                    Call Affichage(CInt(iG))
                Else
                    While Range("A" & iSSup).Text <> "" And Range("C" & iSSup).Text = ""
                        iSSup = iSSup + 1
                    Wend
                    Call AffDSta(CInt(iG), iSSup - 1)
                End If
            End If
            Call Affichage(CInt(iG))
        End If
    End Sub

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    J ne vois pas l'utilité des gestions d'erreurs

    Utilise plutôt un code direct avec par exemple la méthode Find

    Exemple pas testé
    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
    Sub RechercheNom()
    Dim iG As Long, iSSup As Long                    'Indice feuille General, Indice stage supplémentaire
    Dim NomSta As String                             'Nom du stagiaire, Valeur Test General, Test Stage supplémentaire
    Dim c As Range
     
    Application.ScreenUpdating = False
    NomSta = Sheets("Formulaire").Range("F4").Value
    If NomSta = "" Then
        MsgBox "Veuillez saisir le NOM et le Prénom du stagiaire " & Chr(10) & "ou le numéro de stage à chercher."
    Else
        With Worksheets("General")
            Set c = .Range("C:C").Find(nomstag, LookIn:=xlValues, lookat:=xlWhole)
            If c Is Nothing Then
                MsgBox "Le stagiaire n'a pas été trouvé. Vérifiez la saisie."
            Else
                iG = c.Row
                iSSup = iG + 1
                Set c = Nothing
                If .Range("C" & iSSup).Text = "" Then    'S'il existe une date supplémentaire de stage
                    If .Range("A" & iSSup).Text = "" Then
                        Call Affichage(iG)
                    Else
                        While .Range("A" & iSSup).Text <> "" And .Range("C" & iSSup).Text = ""
                            iSSup = iSSup + 1
                        Wend
                        Call AffDSta(iG, iSSup - 1)
                    End If
                End If
                Call Affichage(iG)
            End If
        End With
    End If
    End Sub

Discussions similaires

  1. [XL-2003] Gestion erreurs (1004) lors de la sauvegarde
    Par nicoo_67 dans le forum Contribuez
    Réponses: 0
    Dernier message: 13/09/2012, 19h07
  2. Gestion des classeurs erreur 1004
    Par Sofoulaki dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 06/11/2008, 21h50
  3. [Sécurité] gestion erreur login mdp
    Par oceane751 dans le forum Langage
    Réponses: 19
    Dernier message: 03/11/2005, 11h58
  4. Insérer une image : Erreur 1004
    Par dp_favresa dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 26/10/2005, 14h01
  5. Question Basique Gestion Erreur VBA ...
    Par Le_Phasme dans le forum Access
    Réponses: 2
    Dernier message: 11/10/2005, 13h42

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