Dépassement de capacité VBA

Bonjour à Tous,

J'ai déjà vue plusieurs forum qui parle de cette incident mais je n'arrive pas à comprendre comment le résoudre.

j'ai écrite une macro à l'aide d'un tuto sur youtube mais arriver au 13ème et dernier classeur à coller cette page d'erreur s'affiche :

2020 01 12

Voici le VBA :

2020 01 12 2 2020 01 12 3

Et voici la liste des feuilles EXCEL que j'essaie de condenser en une seule feuille :

2020 01 12 4

Pourriez vous m'aider =)

Cordialement,

Fyou

Pour vous faciliter un peu la tâche voici le module :

Option Explicit

'Déclaration des variables
Dim NomClasseur As String
Dim LigneTotal As Integer
Dim Derligne As Integer

'procédure de consolidation de tous les fichiers Full Stock

Sub Consolider()

    'Etape 1 : ENTETE

    Range("A1").Value = "country_name"
    Range("b1").Value = "store_code"
    Range("c1").Value = "store_name"
    Range("d1").Value = "CurrencyName"
    Range("e1").Value = "CurrencyCode"
    Range("f1").Value = "supplier_name"
    Range("g1").Value = "sku"
    Range("h1").Value = "ProductCode"
    Range("i1").Value = "product_name"
    Range("j1").Value = "Level1_Code"
    Range("k1").Value = "Level1_Name"
    Range("l1").Value = "Level3_Code"
    Range("m1").Value = "Level3_Name"
    Range("n1").Value = "Level4_Code"
    Range("o1").Value = "Level4_Name"
    Range("p1").Value = "qty_stocks"
    Range("q1").Value = "qty_sold"
    Range("r1").Value = "QtySoldLast4weeks"
    Range("s1").Value = "stock_cover"
    Range("t1").Value = "Retail_Price"
    Range("u1").Value = "TotalRetailPrice"
    Range("v1").Value = "cost_price"
    Range("w1").Value = "TotalCostPrice"
    Range("x1").Value = "param_country"
    Range("y1").Value = "param_store"
    Range("z1").Value = "param_product"
    Range("aa1").Value = "param_Brand"
    Range("ab1").Value = "Param_Date"
    Range("ac1").Value = "Param_Supplier"

    'ETAPE 2 :  RECUPERER LES FICHIERS

    ChDir "C:\Users\Nitro\OneDrive\Documents\Taff\SOLDES\full stock"
    'Chercher le premier classeur dans le dossier
    NomClasseur = Dir("C:\Users\Nitro\OneDrive\Documents\Taff\SOLDES\full stock\*.xls")
    'création de la boucle de recherche des classeurs
    While Len(NomClasseur) > 0
        Workbooks.Open NomClasseur 'Ouverture du classeur
        LigneTotal = ActiveSheet.UsedRange.Rows.Count 'récupération du nombre de ligne de donnée
        Range("a2:ac" & LigneTotal).Copy 'Copie de toutes les données
        Workbooks("FS FW19.xlsm").Activate  'retour sur page initial
        Derligne = ActiveSheet.UsedRange.Rows.Count + 1 'recherche de la derniere ligne vide de la feuille active
        Range("A" & Derligne).Select 'Positionnement sur cette ligne
        ActiveSheet.Paste 'Coller
        Workbooks(NomClasseur).Close 'Fermeture du classeur ouvert
        NomClasseur = Dir 'passer au prochain classeur
    Wend

End Sub

Salut Fyou,

change cette déclaration

Dim Derligne As Integer

avec

Dim Derligne As Long

@++

Bonjour à tous,

et tant qu'on y est :

Dim LigneTotal As Long
Dim Derligne As Long

eric

Pour mieux comprendre

Integer est limité à 32.767

Long à 2.147.483.647

Merci beaucoup Eric,

Juste parce que Excel m’intéresse beaucoup, pourquoi ça à fait toute la différence ?

Cordialement,

Fyou

Pour mieux comprendre

Integer est limité à 32.767

Long à 2.147.483.647

AH ! Merci beaucoup !!!

Rechercher des sujets similaires à "depassement capacite vba"