Gestion des erreurs

Bonjour à tous,

Je suis confrontée à un problème dans mon programme VBA suivant:

Sub Transform()

Dim j As Long

With Sheets("Feuil1")

.Range("A1") = "Lettres"

For j = 2 To .Range("A" & Rows.Count).End(xlUp).Row

If IsError("A" & j) Then

Range("A" & j) = "NoIdentified "

Else

Select Case .Range("A" & j)

Case "A": .Range("A" & j) = "AAA"

Case "B": .Range("A" & j) = "BBB"

Case "CCC": .Range("A" & j) = "CCC"

End Select

End If

Next j

End With

End Sub

Je pense que vous avez compris ce aue je veux faire:

remplacer les valeurs de la colonne lettres:

si c'est A mettre AAA

SI c'est B mettre BBB

si c'est C mettre CCC

Cependant je dois aussi gérer les erreurs, en effet il y'a des #N/A que je dois remplacer par NoIdentified

Pour l'instant l'erreur Incompatibilité du type s'affiche lorsque j'éxécute ce code :/

Quelqu'un saurait-il debeugger cela ??? J'ai déjà essayée IsNA (peut être de la mauvaise façon)

Merci d'avance

14gestionerror.xlsm (19.73 Ko)

Bonjour,

Essaie:

Option Explicit
Public Sub Transform()
Dim j As Long
    With Sheets("Feuil1")
        .Range("A1") = "Lettres"
        For j = 2 To .Range("A" & Rows.Count).End(xlUp).Row
            If VarType(.Range("A" & j)) = 10 Then
                .Range("A" & j) = "NoIdentified "
            Else
                Select Case .Range("A" & j)
                    Case "A": .Range("A" & j) = "AAA"
                    Case "B": .Range("A" & j) = "BBB"
                    Case "CCC": .Range("A" & j) = "CCC"
                End Select
            End If
        Next j
    End With
End Sub
Jean-Eric a écrit :

Bonjour,

Essaie:

Option Explicit
Public Sub Transform()
Dim j As Long
    With Sheets("Feuil1")
        .Range("A1") = "Lettres"
        For j = 2 To .Range("A" & Rows.Count).End(xlUp).Row
            If VarType(.Range("A" & j)) = 10 Then
                .Range("A" & j) = "NoIdentified "
            Else
                Select Case .Range("A" & j)
                    Case "A": .Range("A" & j) = "AAA"
                    Case "B": .Range("A" & j) = "BBB"
                    Case "CCC": .Range("A" & j) = "CCC"
                End Select
            End If
        Next j
    End With
End Sub

Sa marche très bien ! Merci Jean-Eric

Rechercher des sujets similaires à "gestion erreurs"