La méthode 'value' de l'objet 'Range' a échoué

Bonjour Chers tous,

J'ai un projet de création de formulaire pour la gestion de coopératives. J'ai utilisé le code ci-dessous mais quand je l'exécute j'ai le message d'erreur suivant "la méthode 'value' de l'objet 'Range' a échoué".

Etant novice en VBA, je sollicite votre aide.

Merci d'avance

'------------------------------------------------------------------------------------------
'PROCEDURE POUR AJOUTER UNE NOUVELLE COOPERATIVE
'------------------------------------------------------------------------------------------
Function Ajout_cooperative()

    ThisWorkbook.Sheets("Cooperatives").Activate

        Dim LastRow1 As Long, LastRow2 As Long
        LastRow1 = ThisWorkbook.Sheets("Cooperatives").Cells(Rows.Count, "A").End(xlUp).Row
        LastRow2 = LastRow1 + 1
        With ThisWorkbook.Sheets("Cooperatives")
        .Cells(LastRow2, "B").Value = FrmAjout_scoop.TextBox1.Value
        .Cells(LastRow2, "C").Value = FrmAjout_scoop.TextBox2.Value
        .Cells(LastRow2, "D").Value = FrmAjout_scoop.ComboBox6.Value
        .Cells(LastRow2, "E").Value = FrmAjout_scoop.ComboBox1.Value
        .Cells(LastRow2, "F").Value = FrmAjout_scoop.ComboBox2.Value
        .Cells(LastRow2, "G").Value = FrmAjout_scoop.ComboBox4.Value
        .Cells(LastRow2, "H").Value = FrmAjout_scoop.TextBox6.Value
        .Cells(LastRow2, "I").Value = FrmAjout_scoop.TextBox6.Value
        .Cells(LastRow2, "J").Value = FrmAjout_scoop.TextBox3.Value
        .Cells(LastRow2, "K").Value = FrmAjout_scoop.TextBox4.Value
        .Cells(LastRow2, "L").Value = FrmAjout_scoop.TextBox5.Value
        .Cells(LastRow2, "M").Value = FrmAjout_scoop.ComboBox5.Value
        .Cells(LastRow2, "N").Value = FrmAjout_scoop.TextBox7.Value
        .Cells(LastRow2, "O").Value = FrmAjout_scoop.TextBox13.Value
        .Cells(LastRow2, "P").Value = FrmAjout_scoop.TextBox12.Value
        .Cells(LastRow2, "Q").Value = FrmAjout_scoop.TextBox11.Value
        .Cells(LastRow2, "R").Value = FrmAjout_scoop.TextBox10.Value
        .Cells(LastRow2, "S").Value = FrmAjout_scoop.TextBox9.Value

        End With
Call reset_all_controls2

End Function
********************************************************************************
Function reset_all_controls2()
Dim ctl As MSForms.Control
For Each ctl In FrmAjout_scoop.Controls
Select Case TypeName(ctl)
Case "TextBox"
ctl.Text = ""
Case "CheckBox", "OptionButton", "ToggleButton"
ctl.Value = False
Case "ComboBox", "ListBox"
ctl.ListIndex = -1
End Select
Next ctl
End Function

Bonjour et bienvenu sur le forum

Un fichier est TOUJOURS le bienvenu

Pourquoi ne pas utiliser les tableaux structurés...

Cette macro n'est pas à mettre dans une fonction mais dans l'userform

J'attends un fichier anonymisé...

A+ François

Bonjour,

Je complète la réponse de fanfan38.

Utiliser une fonction est inapproprié car une fonction fournit toujours un résultat : Résultat = fonction (paramètre1, paramètre2, ...).

Dans votre cas, vous pouviez utiliser une procédure : Sub ou intégrer votre code directement dans votre UserForm comme le suggère fanfan38.

D'autre part, il vaut mieux utiliser l'objet "Me" représentant le UserForm, plutôt que son nom. Exemple avec code correctement indenté :

Sub reset_all_controls2()
    Dim ctl As MSForms.Control

    For Each ctl In Me.Controls
        Select Case TypeName(ctl)
            Case "TextBox"
                ctl.Text = ""
            Case "CheckBox", "OptionButton", "ToggleButton"
                ctl.Value = False
            Case "ComboBox", "ListBox"
                ctl.ListIndex = -1
        End Select
    Next ctl

End Sub

enfin dernier conseil, ne pas laisser les noms de textbox/combobox créés par défaut. Renommez-les pour savoir à quelles données de vos coopératives ils correspondent. Vous aurez ainsi un code plus lisible et moins de chance de vous tromper dans l’attribution de vos données.

Bonjour Thev et Fanfan38, merci pour vos réponses.

J'ai un petit soucis de connexion internet dans la zone où je suis. Comme suggéré pour un traitement plus efficace de ma demande d'aide, je vous joint le fichier du projet en question

Merci grandement

Bonjour

Il y a du boulot

Pour l'instant j'ai fait l'userform frmajout_scoop qui servira pour la creation et la modification des cooperatives...

A+ François

Super. Bien merci

J'ai vu que vous avez retaillé les codes.

Merci grandement

Bonjour

C'était long... mais c'est bon... lol

Ci joint ma solution

A+ François

Bonjour,

Merci grandement ça fonctionne parfaitement comme je le voulais.

Merci à tous pour votre aide précieuse.

Rechercher des sujets similaires à "methode value objet range echoue"