Erreur execution 438

Bonsoir j'ai TAG toutes mes TextBox et ComboBox de 1 à 39

Je comprends pas l'erreur suivant :

'**** Correspond au programme de la ComboBox "CmbB_Raison_Social"  ****
Private Sub CmbB_Raison_Social_AfterUpdate()
    If Me.CmbB_Raison_Social.ListIndex <> -1 Then
        With Sheets("Clients")
            For Each ctrl In Fiche_Client.Controls
                If ctrl.Tag <> "" Then
                    ColonneTransfert = ctrl.Tag
                    LigneTransfert = Me.CmbB_Raison_Social.List(Me.CmbB_Raison_Social.ListIndex, 1)
                    ctrl.Value = .Cells(LigneTransfert, ColonneTransfert).Value
                End If
            Next

        End With
    Else
        MémoNom = CmbB_Raison_Social
        For Each ctrl In Fiche_Client.Controls
            If ctrl.Tag <> "" Then
                ctrl.Value = ""
            End If
        Next
        CmbB_Raison_Social = MémoNom
        Me.TxtB_Code_Client = Application.Max(Sheets("Clients").Range("A3:A65536")) + 1
    End If
End Sub

Après avoir choisi le premier ComboBox, dès que je veux passer à une TextBox ou Combobox , il m'affiche erreur exécution "438"

Merci

Cordialement

26test.xlsm (108.18 Ko)

bonjour,

ça me parait bien nébuleux ce for...each : C'est du codage flou, en plus tu es très laxiste sur les déclarations, tu joues sur les auto-conversions (byte = string) et tu croises les doigts en espérant que ça va tomber pile au bon endroit ?

Dans la fenêtre d'exécution tape :

?ctrl.name 

puis Enter...

et demande toi ce que ce ctrl va bien pouvoir faire de cette value !

En revanche inutile de mettre une ligne de commentaire avant chaque macro pour préciser quel contrôle ça concerne : Ça nuit à la lisibilité du code et de plus c'est toujours précisé dans le nom de la macro...

A+

Rechercher des sujets similaires à "erreur execution 438"