Un UF ne s'ouvre plus après un ajout de commande

Bonjour, à toutes et tous

J'ai crée avec votre aide à tous, divers Formulaires qui fonctionnent toujours

or, quelque soit le formulaire choisi, dès que j'ajoute un bouton, je n'arrive plus à ouvrir ce formulaire

msg : "Objet requis"

j'ai seulement ajouté un ComboBox sur l'UserForm

avec ce code dans Initialize

 '****************Modif
   For K = 1 To Ws.Range("A" & Rows.Count).End(xlUp).Row
    Me.CbbLibellé.AddItem Sheets("BD").Cells(K, 1)
  Next K

Merci de votre aide éventuelle

amitiés

Pierrot

Bonjour,

   For K = 1 To Ws.Range("A" & Rows.Count).End(xlUp).Row

C'est Ws qui n'est pas défini...

Cordialement.

bonjour

et oui Voir le Ws

et en plus elle resemble a la combobox1

et aussi on la déjà fait sur un autre programme

A+

Maurice

Set Sh = Sheets("BD")
   With CbbLibellé
      .Clear
      .List = Sh.Range("A2:A" & Sh.Range("A" & Rows.Count).End(xlUp).Row).Value
   End With

Bonjour, MFerrand

merci de ta réponse, mais ou dois-je définir ce Ws ?

j'ai essayé dans l'initialize, mais cela ne fonctionne pas

Private Sub UserForm_Initialize()

Dim Ws As Integer

peux-tu mettre une note sur le code joint avec le fichier?

merci d'avance

Amitiés

Pierrot


Bonjour, archer,

mais tout cela ne m'explique pas pourquoi, lorsque j'ajoute un bouton, une TextBox ou autre, sur un UF existant, j'ai le même

problème, plus possible de l'ouvrir, c'était le but 1er de ma question

merci de votre aide à tous

Pierrot

Bonjour CappePierre, bonjour le fil, bonjour le forum,

Au début de la macro, il faut déclarer la variable : Dim Ws as Worksheet

Puis, il faut renseigner Ws pour savoir sur quelle feuille tu veux la faire pointer.

Set Ws = Worksheets("Ventes")

Ou bien

Set Ws = Worksheets("BD") selon la feuille sur laquelle tu veux pointer.

Dès lors, Ws.Range(".... le range sera celui de la feuille dont le nom est contenu dans Ws

A+

Joseph

Re,

Ici l'erreur provenait de Ws non initialisée, d'où l'objet manquant ! (ta feuille BD....)

Comme te l'a signalé Archer, tu fais doublon en remplissant identiquement tes deux Combo, et je pense comme lui que tu peux te passer de variable :

Private Sub UserForm_Initialize()
    With Worksheets("BD")
        CbbLibellé.List = .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp)).Value
    End With
End Sub

Même proposition qu'Archer (juste écrite autrement).

Si une erreur semblable se produit ailleurs, il faut voir dans chaque cas...

Cordialement.

Bonsoir,

comme noté pzr retraite8, voici ce que j'ai modifié pour avoir un résultat "sans erreur". Est-ce la solution cherchée ?

Private Sub UserForm_Initialize()
  Dim ws As Worksheet                              ' déclarer ws
  ComboBox1.AddItem ("Boulangerie")
  ComboBox1.AddItem ("Boucherie")
  ComboBox1.AddItem ("Autres")
  Set ws = Sheets(2)                              'initialiser ws
  '****************Modif
   For K = 1 To ws.Range("A" & Rows.Count).End(xlUp).Row
    Me.CbbLibellé.AddItem Sheets("BD").Cells(K, 1)
  Next K

End Sub

Bonjour, MFerrand , Joseph Thihii

Avec une combinaison des trois solutions, je suis arrivé à faire fonctionner un formulaire qui fonctionnait déjà bien avant mes

changements

Un grand merci à vous tous, surtout pour les explications

bonne journée et gros bisou à tous

Pierrot

Rechercher des sujets similaires à "ouvre ajout commande"