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 :

Erreur lors d'un retour sur une ligne de code [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 106
    Points : 57
    Points
    57
    Par défaut Erreur lors d'un retour sur une ligne de code
    Bonjour,

    Voilà, j'ai un usf dont l'apparition est conditionnée (voir code plus bas).
    Jusqu'ici pas de souci.
    A l'ouverture de mon usf, je règle certains paramètres dont 2 textbox qui doivent se remplir avec le commentaire de cellules situées en dessous de la sélection. Je créé aussitôt une gestion d'erreur dans le cas où ma cellule n'a pas encore de commentaire.
    Essai, je laisse délibérément les cellules sans commentaire.
    Première erreur, la gestion se met en place et dans la gestion d'erreur je demande de retourner à la ligne 7 du code, ce qu'il fait, sauf qu'au moment d'exécuter la ligne 7 il me colle une erreur 440, erreur automation

    Quelqu'un a une idée ??

    Voici le code :

    appel du usf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Public Sub Worksheet_SelectionChange(ByVal Target As Range)
     
    If ActiveSheet.Cells(27, Target.Column) = 1 And ActiveSheet.Cells(Target.Row, 2) = 1 Then
        UsfResa.Show
    End If
    End Sub
    code dans le usf :
    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
     
    Public Sub UserForm_Initialize()
    On Error GoTo Fin
    1 With Me
    2    .Colonne = Selection.Column
    3    .Ligne = Selection.Row
     
    4    .BesTech = Cells(.Ligne + 6, .Colonne).Value
    5    .ResaTech = Cells(.Ligne + 7, .Colonne).Value
    6    .ListeTech = Cells(.Ligne + 7, .Colonne).Comment.Text
     
    7    .BesMatos = Cells(.Ligne + 8, .Colonne).Comment.Text
    8 End With
     
     
     
    9 Fin:
    10    If Err.Number = 91 Then
                If Erl() = 6 Then
                    Me.ListeTech = ""
                    GoTo 7
                End If
     
                If Erl() = 7 Then
                    Me.BesMatos = ""
                End If
    12    End If
    End Sub

  2. #2
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    434
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 434
    Points : 547
    Points
    547
    Par défaut
    Salut,

    Pourquoi mettre un gestionnaire d'erreurs il suffit de tester:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Sub UserForm_Initialize()
        With Me
           .Colonne = Selection.Column
           .Ligne = Selection.Row
     
           .BesTech = Cells(.Ligne + 6, .Colonne).Value
           .ResaTech = Cells(.Ligne + 7, .Colonne).Value
     
           If Not Cells(.Ligne + 7, .Colonne).Comment Is Nothing Then .ListeTech = Cells(.Ligne + 7, .Colonne).Comment.Text
           If Not Cells(.Ligne + 8, .Colonne).Comment Is Nothing Then .BesMatos = Cells(.Ligne + 8, .Colonne).Comment.Text
        End With
    End Sub
    ++
    Minick

  3. #3
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 106
    Points : 57
    Points
    57
    Par défaut
    Nickel

    Je sais pas pourquoi, y'a des jours comme ça où on a besoin de se compliquer la vie.
    Typiquement, c'est la première fois que je mettais en place une gestion d'erreur alors que d'habitude je mets toujours en début de code des lignes de test.

    Et vlan !

    Heureusement que l'on peut trouver un deuxième cerveau sur developpez.com !!!!

    Merci.

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

Discussions similaires

  1. Erreur lors d'un INSERT sur une table dans Firebird via dbExpress
    Par matou7 dans le forum Bases de données
    Réponses: 4
    Dernier message: 03/04/2012, 16h40
  2. [MVC] Erreur lors intégration Spring MVC sur une application JEE
    Par khaigo dans le forum Spring Web
    Réponses: 0
    Dernier message: 26/06/2011, 18h04
  3. Erreur lors de l'insertion d'une ligne (table avec relation 1-0)
    Par abbepierre94 dans le forum Silverlight
    Réponses: 9
    Dernier message: 10/01/2011, 12h34
  4. Récupérer element tableau lors d'un clique sur une ligne
    Par Nimothenicefish dans le forum Langage
    Réponses: 8
    Dernier message: 26/11/2008, 10h41
  5. Réponses: 11
    Dernier message: 21/11/2006, 01h57

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