Erreur dans code VBA ; comprendre

Bonsoir tlm !

J'avais mis de côté l'informatisation de ma BDD et évidemment quand je veux m'y remettre ça bug

Si on utilise le userform avec comme critère code Molis et HT21 il bug et je ne comprend pas pourquoi !

Des qu'il a plus de deux lignes qui contiennent des documents il plante..Si vous pouviez m'aider à comprendre pourquoi peut être que je pourrai l'aider à ne plus planter

Merci d'avance :)

Irène

Bonsoir,

Peut-être comme ceci:

    For C = 3 To .Range("AG1")
        On Error GoTo Suivant
        Dièse = Asc(Right(.Range("AG" & C), 5))
        If Dièse = 35 Then Lig = CInt(Right(.Range("AG" & C), 4)): .Range("M" & Lig).Copy .Range("AG" & C)
Suivant:
        On Error GoTo 0
    Next C

Cdlt

Bonsoir

Sans aller très loin, ton appli plante dès la 1ère recherche au niveau de "Dièse = ..."

Si la cellule est vide une erreur se produit

Correction : Tester la longueur de la chaîne

 'Copie du lien ou des liens en colonne AH
    For C = 3 To .Range("AG1")
        If Len(.Range("AG" & C)) <> 0 Then
            Dièse = Asc(Right(.Range("AG" & C), 5))
            If Dièse = 35 Then Lig = CInt(Right(.Range("AG" & C), 4)): .Range("M" & Lig).Copy .Range("AG" & C)
        End If
    Next C

Plutôt que Asc... la fonction Instr serait peut-être appropriée. Dans ce cas pas de test de longueur.

For C = 3 To .Range("AG1")
    Dièse = InStr(1, .Range("AG" & C), "#")
    If Dièse <> 0 Then
         Lig = CInt(Mid$(.Range("AG" & C), Dièse + 1)): .Range("M" & Lig).Copy .Range("AG" & C)
    End If
Next C

A voir si cela convient et si c'est le seul problème.

Eric

Merci Arturo et Éric pour vos réponses !

Je vais tester ça

Rechercher des sujets similaires à "erreur code vba comprendre"