Une commande ne fonctionne pas + erreur d’exécution 13

Bonjour la communauté !

Il y a quelques mois, j'avais posté sur ce forum un topic et merci beaucoup à vous d'y avoir répondu. J'ai pu avancer dans mon projet.

Seulement (et parce qu'il y en aura toujours...) deux autres problèmes surviennent

Le premier :

Mon but ici est que quand on sélectionne une option dans un menu déroulant, un nombre approprié s'affiche à côté. Sauf que là, quand je sélectionne l'option, le nombre ne s'affiche que quand j’exécute la macro. Alors qu'elle devrait s’exécuter à l'instant où je sélectionne l'option. Donc voici mon code pour que vous y voyez un peu plus clair :

Module1

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

'Facture
    If Range("B23") = "Tee-shirt manches courtes, Polo manches courtes, Débardeur, Sweat à capuche sans fermeture éclair, Sweat en coton avec fermeture éclair, Polo à manches longues, Pull en cachemire col V" Then Range("L3").Select

End Sub

Sub list_Facture()

'Facture
     Range("B23").Select
        With Selection.Validation
        .Delete
        .Add xlValidateList, , , "Tee-shirt manches courtes, Polo manches courtes, Débardeur, Sweat à capuche sans fermeture éclair, Sweat en coton avec fermeture éclair, Polo à manches longues, Pull en cachemire col V"
    End With

End Sub

Sub select_Facture()

'Facture
    Range("B23").Select
        If Range("B23") = "Tee-shirt manches courtes" Then
           Range("L3") = "100"
        End If
        If Range("B23") = "Tee-shirt manches courtes" Then
           Range("L3") = "101"
        End If
        If Range("B23") = "Débardeur" Then
           Range("L3") = "102"
        End If
        If Range("B23") = "Sweat à capuche sans fermeture éclair" Then
           Range("L3") = "103"
        End If
        If Range("B23") = "Sweat en coton avec fermeture éclair" Then
           Range("L3") = "104"
        End If
        If Range("B23") = "Polo à manches longues" Then
           Range("L3") = "105"
        End If
        If Range("B23") = "Pull en cachemire col V" Then
           Range("L3") = "106"
        End If

End Sub    

Feuil1

Private Sub Worksheet_Change(ByVal Target As Range)

'Facture
    If Target.Count = 1 And Target.Column = 1 Then
        If Target = "Tee-shirt manches courtes" Then
           Target.Offset(, 1) = "100"
        End If
        If Target = "Polo manches courtes" Then
           Target.Offset(, 1) = "101"
        End If
        If Target = "Débardeur" Then
           Target.Offset(, 1) = "102"
        End If
        If Target = "Sweat à capuche sans fermeture éclair" Then
           Target.Offset(, 1) = "103"
        End If
        If Target = "Polo à manches longues" Then
           Target.Offset(, 1) = "104"
        End If
        If Target = "Pull en cachemire col V" Then
           Target.Offset(, 1) = "105"
        End If
    End If

    End Sub

Le second :

Rebelote, la même chose. Sauf que là, en plus de faire la démarche avec l’exécution de la macro... il m'envoie ce trollface "erreur d’exécution 13, Incompatibilité de type"

Donc voilà, je vous remets le code avec l'endroit ou mon troll se loge.

Module1

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

'Livreur
    If Range("H15", "I15") = "Colissimo France" Then Range("I28").Select

End Sub

Sub list_Facture()

'Livreur
    Range("H15", "H15").Select
        With Selection.Validation
        .Delete
        .Add xlValidateList, , , "Colissimo France"
    End With

End Sub

Sub select_Facture()

'Livreur
    Range("H15", "I15").Select
    If Range("H15", "I15") = "Colissimo France" Then ---------> c'est ici l'erreur d'exécution 13 !!!!!!
           Range("I28") = "8,91"
        End If

End Sub

Feuil1

Private Sub Worksheet_Change(ByVal Target As Range)

'Livreur
    If Target.Count = 1 And Target.Column = 1 Then
        If Target = "8,91" Then
           Target.Offset(, 1) = "1"
        End If
    End If

End Sub

Je vous remercie beaucoup pour l'aide, surtout que je suis un très très nul en ce langage. Même l'Assembleur j'ai du mal...

Bonjour Louis15

Le code de la macro ne suffit pas

Et hop ! Voilà le fichier

5projet-1.xlsm (33.18 Ko)

Re,

1) Pas de worksheet_xxx dans un module

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Facture
    If Range("B23") = "Tee-shirt manches courtes, Polo manches courtes, Débardeur, Sweat à capuche sans fermeture éclair, Sweat en coton avec fermeture éclair, Polo à manches longues, Pull en cachemire col V" Then Range("L3").Select
End Sub

Ce code va dans la feuille

2) Expliques nous l'action du tu effectues, à quel endroit et ce que tu veux que ça donne ?

A+

Merci beaucoup pour l'aide apportée.

1 - J'ai bien copié le code, j'attends maintenant de pouvoir résoudre le second problème pour que celui-ci prenne effet.

2 - En fait, j'essaye de faire que quand on coche "Colissimo France", qu'en cellule "I28", le prix s'affiche. Par la suite, je ferais un menu déroulant plus long avec d'autres choix de prix.

Mais je ne sais pas pourquoi, un débogage sauvage apparaît... Erreur13...

Rechercher des sujets similaires à "commande fonctionne pas erreur execution"