Erreur d'execution '6' Dépassement de capacité

Résolu/Fermé
djodjo5700 Messages postés 59 Date d'inscription vendredi 13 février 2009 Statut Membre Dernière intervention 27 mars 2016 - Modifié par pijaku le 11/12/2014 à 09:57
djodjo5700 Messages postés 59 Date d'inscription vendredi 13 février 2009 Statut Membre Dernière intervention 27 mars 2016 - 11 déc. 2014 à 10:22
Bonjour,
Je découvre le VBA et pour l'instant je ne fait que recopier des codes que l'on me transmets.
mon problème est le suivant:
Je voudrais dans une case rentrer un code postale et pouvoir sélectionner une ville. sur une liste courte de CP et ville le code que l'on ma donné fonctionne mais si je rentre tous les codes Postaux de France je reçois le message d'erreur suivant:
"Erreur d'exécution '6' Dépassement de capacité".

Pourriez vous m'aider. je vous transmets un modèle de mon projet MP"1234"

Private Sub Textbox6_Change()
'd'après un code de Michel_m
Dim Tablo
Dim lettre As String, test As String
Dim cptr As Integer, cptr_tablo As Integer, derLig As Integer
 
lettre = UCase(TextBox6.Value)
If lettre = "" Then Exit Sub
ReDim Tablo(0)
ListboxVilles.Clear
derLig = Sheets("CP").Range("A" & Rows.Count).End(xlUp).Row
With Sheets("CP")
    For cptr = 1 To derLig
        test = .Cells(cptr, 1)
         If .Cells(cptr, 1) Like lettre & "*" Then
            Tablo(cptr_tablo) = .Cells(cptr, 2)
            cptr_tablo = cptr_tablo + 1
            ReDim Preserve Tablo(cptr_tablo)
        End If
Next
End With
For cptr_tablo = LBound(Tablo) To UBound(Tablo)
    ListboxVilles.AddItem Tablo(cptr_tablo)
Next
End Sub

Cordialement,

Jean-Marie



3 réponses

Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
11 déc. 2014 à 09:49
Bonjour,

Un nombre de type entier ne peut pas dépasser 32 767.
Si tu effectues le comptage de toutes les communes de France, tu dépasses cette capacité (36 600 communes).

Fais un essai après avoir modifié cette ligne de code :
Dim cptr As Long, cptr_tablo As Long, DerLig As Long


A+
0