Error de ejecución '6' Desbordamiento de capacidad

Resuelto
djodjo5700 Mensajes publicados 64 Estado Miembro -  
djodjo5700 Mensajes publicados 64 Estado Miembro -
Hola,
Estoy descubriendo el VBA y por ahora solo estoy copiando códigos que me pasan.
Mi problema es el siguiente:
Quisiera ingresar un código postal en un campo y poder seleccionar una ciudad. En una lista corta de CP y ciudad, el código que me dieron funciona, pero si ingreso todos los códigos postales de Francia, recibo el siguiente mensaje de error:
"Error de ejecución '6' Desbordamiento".

¿Podría ayudarme? Le envío un modelo de mi proyecto MP"1234"

Private Sub Textbox6_Change() 'según un código 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

Atentamente,

Jean-Marie

Configuración: Windows / Firefox 33.0

3 respuestas

  1. Gyrus Mensajes publicados 3360 Estado Miembro 526
     
    Hola,

    Un número de tipo entero no puede superar 32 767.
    Si cuentas todas las comunas de Francia, superarás esta capacidad (36 600 comunas).

    Haz una prueba después de modificar esta línea de código:
    Dim cptr As Long, cptr_tablo As Long, DerLig As Long


    ¡Hasta luego!
    0