Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Problème incompatibilité de type

Chris Linefield

XLDnaute Junior
Bonjour tout le monde !

Je rencontre un petit problème avec mon VB, il m'indique une erreur d'exécution '13' : Incompatibilité de type
VB:
Private Sub retirer_Click()
'bouton du suppression d'une réf d'une place avec recherchv de la place puis effacement des données associées
Dim sup As Variant
    sup = Application.WorksheetFunction.Application.VLookup(ComboBox2, Range("A1:D300"), 2, False)
        Cells(sup, 3).ClearContents
        Cells(sup, 4).ClearContents
        ComboBox4 = ""
        TextBox4 = ""
        ComboBox2 = "Emplacement libre"
        ComboBox4.Value = "Choisir article"
ComboBox1.Value = "NA"
ThisWorkbook.Save
End Sub

Le bouton sert a RAZ un emplacement sur une cellule.

Pouvez-vous me venir en aide ?
 
Solution
Bonjour @Chris Linefield , @Marcel32

Je te propose ceci:

VB:
Private Sub retirer_Click()
'bouton du suppression d'une réf d'une place avec recherchv de la place puis effacement des données associées
Dim sup As Variant

On Error GoTo errorHandler

    sup = Application.WorksheetFunction.Application.VLookup(ComboBox2, Range("A1:D300"), 2, False)
       
        Cells(sup, 3).ClearContents
        Cells(sup, 4).ClearContents
       
errorHandler:
    'indique le numéro et la description de l'erreur survenue
    If Err.Number <> 0 Then
        MsgBox Err.Number & vbLf & Err.Description  ' <== Message optionnel
        MsgBox "La valeur " & ComboBox2.Value & " est non trouvée", vbCritical, "Problème"
        Exit Sub
    End If...

TooFatBoy

XLDnaute Barbatruc
Voilà, j'ai regardé, et j'ai pondu un truc à peu près identique à celui de @Phil69970.

Je me permet de tout de même mettre ma proposition ici :
VB:
Private Sub retirer_Click()
' Bouton de suppression d'une réf d'une place avec RECHERCHEV de l'emplacement, puis effacement des données associées
Dim sup As Variant

    sup = Application.WorksheetFunction.Application.VLookup(ComboBox2, Range("A1:D300"), 2, False)

    If IsNumeric(sup) Then
        Cells(sup, 3).ClearContents
        Cells(sup, 4).ClearContents
        ComboBox4 = ""
        TextBox4 = ""
        ComboBox2 = "Emplacement libre"
        ComboBox4.Value = "Choisir article"
        ComboBox1.Value = "NA"
        ThisWorkbook.Save
    Else
        MsgBox "/!\  Emplacement " & ComboBox2.Value & " non trouvé !", vbOKOnly, "Erreur"
    End If

End Sub
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…