ERREUR d'exécution 380 - Impossible de définir la propriété rowsource

Bonjour à toutes et à tous,

Je rencontre actuellement une erreur sur mon code de formulaire VBA "Erreur d'exécution 380", je n'arrive pas à savoir d'où vient cette erreur.

J'espère que vous aurez la solution, je vous mets le fichier ci-dessous.

Amicalement,

Bonjour

Vous êtes sous MAC ou sous Windows ?

Cordialement

Bonjour Dan,

Je suis sous Windows.

Cordialement,

Pourquoi avez-vous trois listbox l'une sur l'autre dans votre userform ?

Edit : je crois que je viens de comprendre... Vous voulez en cliquant sur l'un des trois boutons, afficher la listbox correspondante ?

Vous avez la bonne réponse a votre question, je veux avoir les références de mes filtres de chaque feuille dans une listbox qui lui est propre.

Joli fichier....

On peut faire avec une seule listbox. ce qui est plus simple

Voyez votre fichier en retour dans lequel :
- Vous n'avez plus qu'une seule Listbox
- A l'ouverture de l'userform et le bouton Valider est indisponible
- faite votre choix en cliquant sur un des trois boutons au dessus. La listbox chargera les éléments de la colonne B relative à la feuille en rapport au bouton cliqué
- Une fois l'item sélectionné dans votre listbox, le bouton Valider devient disponible et les infos "fournisseur" et "prix" seront affichées

A noter que :
- J'ai supprimé le Rowssource dans votre userform --> Je vous conseille de toujours éviter cette instruction qui pose souvent des soucis. Je lui préfère la méthode Additem.
- vous avez plein de liaison que je vous conseille de supprimer afin de ne pas avoir des soucis plus tard lors de l'utilisation
- dans Formules --> gestionnaire de noms, vous avez toutes les références (?) de numéros de série qui à mon avis ne servent pas non plus. A supprimer je pense
- dans la feuille Demande Achat, vous avez des formules à D33 et plus bas, qui font référence à une info extérieure au fichier.. pourquoi ?

Dites moi ce que vous en pensez

re

dans votre feuille Demande achat, supprimez les formules que vous avez en colonne D à H entre la ligne 32 et 38.

ensuite vous pouvez remplacer le code Valider par celui ci-dessous

Private Sub CommandButt_Valider_Click()

If Trim(TextBox_Quantité) = "" Then
    TextBox_Quantité.BackColor = vbRed
    MsgBox "Veuillez Marquer la Quantite !", vbInformation, "Champs incomplets"
    TextBox_Quantité.SetFocus
    Exit Sub
End If

Dim Lig As Integer
Dim cel as Range

With Sheets(F_DEMANDE_ACHATS)
    For Each cel In Range("D19:D38") 'recherche de la premiere cellule vide
        If cel.Value = "" Then Lig = cel.Row: Exit For Else: Exit Sub 'exit sub pour sortir du code si pas de cellules vides
    Next cel
    .Range("D" & Lig) = ListBox1.Value
    .Range("E" & Lig) = TextBox_Fournisseur.value
    .Range("F" & Lig) = Val(Replace(TextBox_Prix, ",", "."))
    .Range("G" & Lig) = TextBox_Quantité.value
End With
End Sub

NB : Evitez les accents dans le nom des feuilles ou textbox etc... (exemple Textbox_Quantite au lieu de textbox_Quantité). Je ne les ai pas changé dans le fichier que j'ai posté mais je vous suggère de le faire. Cela vous évitera des soucis éventuels.

Re,

Un grand merci pour votre analyse et votre aide. Le code est parfait c'est exactement ça que je voulais. J'ai remplacé le code pour la touche valider comme vous me l'avez conseillé, c'est normal que vous ayez trouvé des formules dans certaines cellules de la feuille 'demande d'achats' j'ai récupéré la feuille d'un autre fichier de gestion de stock que j'ai fais il y a quelques semaines en arrière. Il me reste à supprimer tous les accents.

Bien amicalement,

Ok parfait.

Si besoin d'autre chose, n'hésitez pas

Cordialement

Rechercher des sujets similaires à "erreur execution 380 impossible definir propriete rowsource"