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 :

Dépassement de capacité si nombre d'enregistrements = 1 (erreur 6)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    En formation de développeur logiciel
    Inscrit en
    Janvier 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : En formation de développeur logiciel

    Informations forums :
    Inscription : Janvier 2019
    Messages : 13
    Par défaut Dépassement de capacité si nombre d'enregistrements = 1 (erreur 6)
    Salutations amis développeurs !
    Je viens humblement à vous afin de m'aider à comprendre voir à trouver une solution à un problème sous Excel VBA.

    J'ai fait une macro qui balaie les enregistrements d'un tableur Excel rang A depuis A1. Cela fonctionne très bien mais à condition qu'il y ait au moins deux enregistrements sinon ma variable "Numrows" n'a pas d'affectation et vaut 0 d'où un erreur 6 de dépassement de capacité.

    Extrait du 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
    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    Const URL = "http://192.168.63.228/Rework/ReworkBatch"
    Public Numrows As Integer
     
    Sub ENCODAGE_01_17_10_21()
     
     
        Dim Obj As WebDriver
        Set Obj = New ChromeDriver
        Dim Enr_cellule As String
        ' Variables du compteur
        Dim x As Integer
        Dim y As Integer
        Dim z As Integer
     
     
    saisieLongueurPC = 14 'Application.InputBox(" Veuillez saisir la longueur du PC ")
    saisieLongueurEXP = 6 'Application.InputBox(" Veuillez saisir la longueur de la date de PER ")
    saisieLongueurLOT = 8 ' Application.InputBox(" Veuillez saisir la longueur du lot ")
    saisieLongueurSN = 16 'Application.InputBox(" Veuillez saisir la longueur de la date de SN ")
     
        With Obj
     
             .Start "Chrome"
             .Get URL
            ' remplis les champs de connection '
             .FindElementById("Username").SendKeys "OPER"
             .FindElementById("Password").SendKeys "0000"
     
              Application.WindowState = xlMaximized
     
            ' clique pour se connecter
             .FindElementByCss("input[value='OK']").Click
     
            ' Stoppe toutes les activités d'Excel
              Application.Wait DateAdd("s", L, Now)
     
            ' Compte le nombre des enregistrements jusqu'a trouver une cellule vide.
              Numrows = Sheets("Feuil1").Range("A1", Range("A1").End(xlDown)).Rows.Count
     
     
        For x = 1 To Numrows
              y = x
     
              Enr_cellule = Range(("A") & y).Value
     
              PC = "(01)" + Mid(Enr_cellule, 3, saisieLongueurPC)
              PER = "(17)" + Mid(Enr_cellule, 19, saisieLongueurEXP)
              LOT = "(10)" + Mid(Enr_cellule, 27, saisieLongueurLOT)
              SN = "(21)" + Mid(Enr_cellule, 38, saisieLongueurSN)
     
            ' c'est ici que la fonction est activée
     
             'la cellule B1 recoit son affectation ici
             Range(("B") & y).Value = PC + PER + LOT + SN
             Enr_formatte = Range(("B") & y).Value
     
     
              .FindElementById("UnitCode").SendKeys Enr_formatte
              .FindElementById("SearchParentBtn").Click
     
        Next
            ' Call Worksheet_Change(Range(("B") & y)) ' A VOIR SI CELA INITIALISE L ECOUTE
              MsgBox Numrows & " Enregistrements ont été saisis "
     
       End With
     
    End Sub
    En vous remerciant par avance. Bien cordialement

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour Max,

    Drôle de façon de compter le nombre d'enregistrements 🤔

    Voici les 2 lignes de code qui devraient convenir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     ' Numéro dernière ligne remplie = dernier enregistrement
        NumRows = Sheets("Feuil1").Range("A1").End(xlDown).Row
        ' Si dernière ligne = nombre de lignes alors 1 seul enregistrement
        If NumRows = Rows.Count Then NumRows = 1
        ' Perso je préfère plutôt = aucun problème comme ça
        ' NumRows = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row

    A+

  3. #3
    Membre averti
    Homme Profil pro
    En formation de développeur logiciel
    Inscrit en
    Janvier 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : En formation de développeur logiciel

    Informations forums :
    Inscription : Janvier 2019
    Messages : 13
    Par défaut
    Merci Bruno pour vôtre réponse. Je testerai lundi. Merci encore et bon week-end.

    Maj : Cela fonctionne et j'ai compris mon erreur. Merci beaucoup, Bruno, je tag résolu

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

Discussions similaires

  1. "erreur d'exécution" dépassement de capacité
    Par guigui71 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 30/04/2010, 01h04
  2. Erreur 400 ou dépassement de capacité
    Par Girly dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 22/10/2008, 10h39
  3. VBA-Word:Erreur 6 de dépassement de capacité
    Par zahui_eric dans le forum VBA Word
    Réponses: 3
    Dernier message: 04/04/2007, 15h17
  4. [Access 2003] Erreur "Dépassement de capacité"
    Par Bapt.ice dans le forum Access
    Réponses: 2
    Dernier message: 08/06/2006, 12h15
  5. Réponses: 8
    Dernier message: 06/02/2006, 14h34

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