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

Visual Basic - Souci Listbox

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

adrien69004

XLDnaute Nouveau
Bonjour à tous,

Je suis actuellement dans le cadre de ma licence Chargé d'Affaires en bâtiment entrain de réaliser pour mon entreprise une petite base en Visual Basic. Pour le moment celle-ci contient deux parties à peu près similaires concernant la clientèle et les fournisseurs. Tout ce passe bien sauf que j'ai un souci lorsque je rentre par exemple un nouveau client qui devrait en toute logique se placer dans ma base client et donc dans ma feuille1. Or et cela de façon aléatoire, ce nouveau client se place dans ma feuille 21 qui fait partie des fournisseurs.
Du coup, elle se retrouve bien dans la lisbox correspondant en occurrence à la bonne feuille mais qui n'est pas celle désiré au départ.

Après avoir retourner le problème dans tous les sens je commence à avoir le cerveau retourné. Ça ne doit pas être grand chose mais je ne trouve pas l'erreur.

Voilà, en espérant avoir été assez clair dans mes explications. Je vous met à dispo le fichier en question si quelqu'un veut bien plancher sur ce cas.

Merci par avance.

Adrien.
 

Pièces jointes

Re : Visual Basic - Souci Listbox

Bonjour Adrien69004 et bienvenue sur ce forum 😉

C'est toujours le même et éternel problème, l'objet conteneur n'est pas définit ...

Voici ton code modifié de l'USF 2
VB:
Private Sub CommandButton1_Click()  Dim Lig As Long  ' Prochaine ligne vide du tableau


  If UserForm2.TextBox1.Value = "" Then
    MsgBox " Le champ SOCIETE est obligatoire . "
    Exit Sub
  Else
    ' Avec l'OBJET CONTENEUR (feuille de destination)
    With Sheets("Feuil1")
      ' Mémoriser la prochaine ligne vide
      ' NE PAS OUBLIER le "." POINT devant RANGE
      Lig = .Range("A65536").End(xlUp).Offset(1, 0).Row
      .Range("A" & Lig).Value = UserForm2.TextBox1.Value
      .Range("B" & Lig).Value = UserForm2.TextBox11.Value
      ' gestion des nombres commençant par 0 avec " ' "
      .Range("C" & Lig).Value = "'" & UserForm2.TextBox2.Value
      .Range("D" & Lig).Value = "'" & UserForm2.TextBox3.Value
      .Range("E" & Lig).Value = UserForm2.TextBox4.Value
      .Range("F" & Lig).Value = "'" & UserForm2.TextBox5.Value
      .Range("G" & Lig).Value = UserForm2.TextBox6.Value
      .Range("H" & Lig).Value = "'" & UserForm2.TextBox7.Value
      .Range("I" & Lig).Value = UserForm2.TextBox8.Value
      .Range("J" & Lig).Value = UserForm2.TextBox9.Value
      .Range("K" & Lig).Value = UserForm2.TextBox10.Value
      .Range("L" & Lig).Value = UserForm2.TextBox13.Value
      .Range("M" & Lig).Value = UserForm2.TextBox19.Value
    End With
    'ActiveWorkbook.Save
    'MsgBox " La fiche est créée "
    'comptage nb de fiches
    Call calculnombrefiches
    'sortir
    'Unload UserForm2
    Unload Me
  End If
End Sub

L'utilisation d'Offset est utile lorsqu'on utilise une boucle pour remplir les données.
Mais comme tes Textbox ne sont pas dans l'ordre, tu ne peux pas l'utiliser

A+
 
Re : Visual Basic - Souci Listbox

Bonjour,

Tout d'abord merci pour la correction. Je débute et me base à partir de codes existant suivant les fonctions que je désire intégrer et essaye de le modifier au mieux pour mon usage. Ça me permet d'apprendre un peu plus en même temps.

Je sens que les problèmes ne font que commencer ...

J'ai maintenant une erreur "membre de méthode ou de données introuvable" au niveau de mes TextBox dans mon UserForm "resultat2" ; louche vu que j'ai le même code que pour ma partie "Client" qui elle n'a pas ce problème au moment d'appeler les résultats. Je précise aussi que ce n'est pas uniquement lors de l'appel par "recherche rapide" mais aussi par l'appel "recherche par mot clé". Je suppose donc que l'erreur vient bien du résultat en lui même.

Je remet mon fichier modifié à l'aide des indications de BrunoM45.

Merci par avance.

Un débutant 😀
 

Pièces jointes

Re : Visual Basic - Souci Listbox

Salut Adrien69004,

Dans ton USF "Résultat2" tu fais référence à "Résultat" et "TextBox201" n'existe pas dans cet USF 😉

Si tu souhaites faire référence à des contrôles de ton USF en cours, tu peux utiliser "Me" à la place
Code:
Me.TextBox201.Value

A+
 
Re : Visual Basic - Souci Listbox

Salut,

Après avoir peaufiner la chose je reviens vers vous.

J'ai un petit souci lorsque je veux créer un nouveau client, quand je vais ensuite sur sa fiche il m'affiche souvent les bonnes données dans les TextBox mais quelques fois et aléatoirement j'ai l'impression il me met dans ces TextBox les noms de catégorie (Nom, Prénom ...). En fait il reprend la ligne 7 de ma feuille "Base clients".

Merci d'avance si quelqu'un arrive à m'aider.
 

Pièces jointes

Re : Visual Basic - Souci Listbox

Salut Adrien69004,

Il faudrait que tu fasses des testes et nous disent a quel moment ça ce produit !?

De mon côté ça fonctionne sans soucis 😉

A+
 
Re : Visual Basic - Souci Listbox

Allô!

Comme l'a mentionné BrumoM45 au début "... l'objet conteneur n'est pas définit ..."

Il y a encore le même problème à l'initialisation du userforme : "Résultatclient"

Si la feuille concernée n'est pas spécifiée, on a de drôle de résultat car le formulaire peut lire ou écrire dans la mauvaise feuille.

Tu as renommé les formulaires avec des noms plus significatifs, c'est excellent. Il faudrait maintenant faire la même chose avec les noms des boutons, car CommandButton5 n'est pas significatif. Quand c'est bien nommé, c'est plus facile à suivre et plus facile quand on veut faire d'éventuelles modifications.

A+

G
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2013 Excel VBA
Réponses
2
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…