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

Excel Discussion :

Débogage d'un Code


Sujet :

Excel

  1. #1
    Membre du Club
    Homme Profil pro
    EPSECO
    Inscrit en
    Juin 2017
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : EPSECO
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2017
    Messages : 108
    Points : 54
    Points
    54
    Par défaut Débogage d'un Code
    Bonjour à tous,
    j'ai écris le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Connaitremontant()
        Dim Numligne As Variant
        Dim Montant As Double
        Dim Trouve As Range
        Numligne = InputBox("Entrez un numéro de ligne")
        Sheets("Feuil1").Activate
        Montant = WorksheetFunction.VLookup(Numligne, Range(" Montant"), 2, False)
        MsgBox "Le montant de la ligne " & Numligne & " est de " & Format(Montant, "# ##0" & "€")
    End Sub
    mais si j'indique dans mon InputBox une ligne qui n'existe pas il me fais un bog.
    Je voudrais rajouter une ligne de Code qui me dise que si la ligne n'existe pas alors un message MsgBox dise "La ligne n'existe pas" et ne me fasse pas un bog.
    Merci à tous de m'aider.
    EAU

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par EAU24 Voir le message
    Bonjour,

    A tester :

    Nb : Vous devriez retirer le caractère blanc dans la zone nommée " Montant".

    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
     
    Sub Connaitremontant()
     
    Dim Numligne As Variant
    Dim Nombredelignes As Long
    Dim Montant As Double
     
       With Sheets("Feuil1")
     
            Nombredelignes = .Range("Montant").Rows.Count
            .Activate
     
            Numligne = InputBox("Entrez un numéro de ligne entre 1 et " & Nombredelignes)
            If Numligne = "" Then
               MsgBox "Entrez un numéro de ligne entre 1 et " & Nombredelignes & " !", vbCritical
               Exit Sub
            End If
            Select Case Numligne
               Case 1 To Nombredelignes
                    Montant = WorksheetFunction.VLookup(CInt(Numligne), .Range("Montant"), 2, False)
                    MsgBox "Le montant de la ligne " & Numligne & " est de " & Format(Montant, "# ##0" & "€")
               Case Else
                    MsgBox "Le numéro de ligne n'appartient pas au tableau !", vbCritical
            End Select
     
      End With
     
    End Sub

  3. #3
    Membre du Club
    Homme Profil pro
    EPSECO
    Inscrit en
    Juin 2017
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : EPSECO
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2017
    Messages : 108
    Points : 54
    Points
    54
    Par défaut
    Désolé mais cela ne fonctionne pas. Je veux taper un numéro de ligne par exemple AF dans l'InputBox et que le Code Excel me donne le montant qui correspond à la ligne AF de la feuil1. Dans la feuil1 il y a 2 colonnes, une avec les numéros de lignes (AB, I8, 0R par exemple en colonne A (il s'agit des numéro CERFA des liasses fiscales des déclarations de résultat annuelles des entreprises) et en colonne B le montant figurant dans la liasse fiscale. Donc en fait il s'agit de la fonction Excel "Recherchev" mais appliquée à VBA.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par EAU24 Voir le message
    Donc en fait il s'agit de la fonction Excel "Recherchev" mais appliquée à VBA.
    Désolé, je n'avais pas deviné.

    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
     
    Sub ConnaitreMontant()
     
    Dim NumeroFiscal As String
    Dim LigneEnCours As Long
    Dim LigneTrouvee As Boolean
    Dim AireMontants As Range
     
       With Sheets("Feuil1")
     
            .Activate
     
            Set AireMontants = .Range("Montant").Columns(1).Cells
            NumeroFiscal = InputBox("Entrez un numéro de ligne fiscale ex : AB, I8, 0R")
            If NumeroFiscal = "" Then
               MsgBox "Entrez un numéro de ligne fiscal ex : AB, I8, 0R !", vbCritical
               Exit Sub
            End If
     
            LigneTrouvee = False
            For LigneEnCours = 1 To AireMontants.Count
                If CStr(AireMontants(LigneEnCours)) = NumeroFiscal Then
                   MsgBox "Le montant de la ligne " & NumeroFiscal & " est de " & Format(AireMontants(LigneEnCours).Offset(0, 1), "# ##0" & "€")
                   LigneTrouvee = True
                   Exit For
               End If
             Next LigneEnCours
     
             If LigneTrouvee = False Then
                MsgBox "Le numéro fiscal n'appartient pas au tableau !", vbCritical
             End If
     
      End With
     
    End Sub

  5. #5
    Membre du Club
    Homme Profil pro
    EPSECO
    Inscrit en
    Juin 2017
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : EPSECO
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2017
    Messages : 108
    Points : 54
    Points
    54
    Par défaut
    ça roule super Merci.
    Je ne suis pas assez calé pour tout comprendre mais c'est super
    EAU

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par EAU24 Voir le message
    Il vous faut être plus explicite dans vos messages, quitte à faire des vidages d'écran pour en faciliter la compréhension.

  7. #7
    Membre du Club
    Homme Profil pro
    EPSECO
    Inscrit en
    Juin 2017
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : EPSECO
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2017
    Messages : 108
    Points : 54
    Points
    54
    Par défaut
    Ok je vais essayer c'être plus clair à l'avenir. Merci encore
    Tchin Tchin....à votre santé

Discussions similaires

  1. [XL-2007] Débogage dans mon code
    Par capi81 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 11/09/2012, 01h39
  2. Réponses: 3
    Dernier message: 08/12/2011, 13h49
  3. Voir le code d'une classe en mode débogage
    Par ensi_en dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 08/10/2010, 16h11
  4. Réponses: 3
    Dernier message: 14/08/2009, 11h45
  5. Réponses: 3
    Dernier message: 03/06/2008, 08h50

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