Code combobox qui bug

bonjour a tous et toutes

jusque présent ce code fonctionnait, mais depuis que j'ai modifié les autres codes c'est le bug, j'ai mis les variables a jour et pareil , j'ai essayer en mettant le nom de l'userform devant, joindre un fichier exempleoui je veux bien encore qu'il ne reproduise pas le bug en dehors de son environnement

je joint un aperçu du bug qui se lance avec une erreur direct de compilation et référence incorect quand je mets sans le nom de l'userform

avec le nom c'est une erreur 70 accès refusé

il y a bien option explicit en haut tout

bug a cbtva
Private Sub UserForm_Activate()
    Dim tva As Variant
    Dim i As Integer
'-------------- Affichage Choix "TVA" ---------------
    tva = Array("0,10", "0,20")
    For i = 0 To 1
        .cboTVA.AddItem tva(i)
        'Usf_gestion.cboTVA.AddItem tva(i)
        Next i
End Sub

Bonjour,

Et le with... il est ou le with ?

hi, hi ! Collison...

A+

Bonjour grisan29,

Tu utilises un

.cboTVA.AddItem

sans jamais initialiser le With !!!!

With bidule
.cboTVA.AddItem tva(i)
End With

où "bidule" fait référence à une listbox dans ton cas!

Private Sub UserForm_Activate()
    Dim tva As Variant
    Dim i As Integer
'-------------- Affichage Choix "TVA" ---------------
   tva = Array("0,10", "0,20")
    For i = 0 To 1
        Listbox1.cboTVA.AddItem tva(i)
        'Usf_gestion.cboTVA.AddItem tva(i)
       Next i
End Sub

ou encore

Private Sub UserForm_Activate()
    Dim tva As Variant
    Dim i As Integer
'-------------- Affichage Choix "TVA" ---------------
   tva = Array("0,10", "0,20")
With Listbox1
    For i = 0 To 1
        .cboTVA.AddItem tva(i)
        'Usf_gestion.cboTVA.AddItem tva(i)
    Next i
End With

End Sub

bonjour a vous

merci de vos leçon sur le with end with je m'incline

mais le premier code de d3d9x donne le même bug

la cboTVA est posée direct sur l'Usf_gestion puis après est vidé dans une listview via un bouton

il n'est pas question de listbox

mais le premier code de d3d9x donne le même bug

Tu as essayé de simplement écrire sans point?

Private Sub UserForm_Activate()
    Dim tva As Variant
    Dim i As Integer
'-------------- Affichage Choix "TVA" ---------------
  tva = Array("0,10", "0,20")
    For i = 0 To 1
        cboTVA.AddItem tva(i)
        'Usf_gestion.cboTVA.AddItem tva(i)
      Next i
End Sub

Si ça ne marche pas il faudrait joindre le userform

bonjour d3d9x

oui les 2 versions avec. ou sans . avec nom usf ou sans le résultat esrt le même ou c'est un accès refusé ou c'est l'erreur de compilation dont l’aperçu est post précédent et voici l'accès refusé

bug a cbtva

bonjour d3d9x

jusque présent ce code fonctionnait, mais depuis que j'ai modifié les autres codes c'est le bug, j'ai mis les variables a jour et pareil , j'ai essayer en mettant le nom de l'userform devant, joindre un fichier exempleoui je veux bien encore qu'il ne reproduise pas le bug en dehors de son environnement

voici ce que j'ai dit dans mon premier message, bien sur que j'avais préparer un classeur mais le souci ne sais pas reproduit

tout ce que je peux dire est qu'il y a peut être un conflit avec les déclarations car en haut du code de l'userfoorm il y a

Option Explicit
Dim Total As Currency, T1 As Currency, T2 As Currency    
Dim Li As Long, Lx As Long
Dim i As Long, Tblo(1 To 12)

le i est peut être la source du conflit

comme demander voici un fichier qui fonctionne sans le bug relevé plus haut

17test-cbtva.xlsm (25.23 Ko)

Désolé je ne me rappelais pas de cette partie de ton message.

Propositions 1 et 2 combinées

1) Changer le nom de ta variable dans ta procédure

2) Rajouter "Me"

Private Sub UserForm_Activate()
Dim tva As Variant
Dim nbTVA As Integer
tva = Array("0,10", "0,20")

For nbTVA = 0 To 1
   Me.cboTVA.AddItem tva(nbTVA)
Next nbTVA
End Sub

Bonjour,

au pire pour un boucle "for" on n'a pas vraiment besoin de le déclarer 8)

bonjour d3d9x

on s'est croisé quand je mettai le classeur fonctionnel, mais ton code me retourne l'erreur 70 a Me.cboTVA.AddItem tva(nbTVA)

on en revient au même point

voici le code complet attention très long mais amputé

Option Explicit
Dim Total As Currency, T1 As Currency, T2 As Currency    ', MHT As Currency
Dim Li As Long, Lx As Long
Dim i As Long, Tblo(1 To 12)
'====================================test co-viles intégré
Private Sub cboCP_Click()
Dim Choix$, Cell As Variant

    Choix = Me.cboCP.Value

    For Each Cell In Selection
        If Cell.Text = Choix Then Me.lstVille.AddItem Cell.Offset(0, 1).Value
    Next Cell
    [A1].Select
End Sub

'============================================
Sub Init1()
Dim NoDept As New Collection
Dim A()
Dim i%, J%, NoValeur%
Dim Swap1$, Swap2$

End Sub
'=======================fin test cp-villes====================================
Private Sub ajout_Click()

Dim MontantHt As Double, MontantTva As Double, MontantTc As Double, MontantRemise As Double, L As Long

            '=======================code tva=================================
    If Me.cboTVA.Value = "0,10" Then
                .ListItems(L).ListSubItems.Add , , "1"
          Else
                .ListItems(L).ListSubItems.Add , , ""
          End If
    If Me.cboTVA.Value = "0,20" Then
                .ListItems(L).ListSubItems.Add , , "2"
          Else
                .ListItems(L).ListSubItems.Add , , ""
          End If
          '==================================================================

            If Me.cboTVA.Value = "0,10" Then
                .ListItems(L).ListSubItems.Add , , Format(MontantTva, "0.00")
            Else
                .ListItems(L).ListSubItems.Add , , ""
            End If

            If Me.cboTVA.Value = "0,20" Then
                .ListItems(L).ListSubItems.Add , , Format(MontantTva, "0.00")
            Else
                .ListItems(L).ListSubItems.Add , , ""
            End If

Private Sub lstArticle_Click()

txtArticle = "": Txtunite = "": Txt_qté_vente = "": TextBox2 = "": TextBox4 = "": txtPU = ""
    Usf_articles.Show
End Sub

Private Sub nomfeuil_Change()
    nomfeuil.ShowDropButtonWhen = 0
End Sub

Private Sub quit_Click()

    Unload Me
End Sub

Private Sub UserForm_Activate()
  Dim tva As Variant
Dim nbTVA As Integer
tva = Array("0,10", "0,20")

For nbTVA = 0 To 1
   Me.cboTVA.AddItem tva(nbTVA)
Next nbTVA
End Sub

Private Sub UserForm_Initialize()
'Effacer
    With ListView1
        With .ColumnHeaders    'Mise en page des en-têtes
            .Clear
            .Add , , "n°", 40
            .Add , , "tranche", 50
            '.Add , , "texte", 20
            .Add , , "Nomination de l'article", 200
            .Add , , "Unité", 40
            .Add , , "Qté_vente", 40
            .Add , , "PuHt", 60
            .Add , , "obtva10", 60
            .Add , , "obtva20", 60
            .Add , , "tva10", 60
            .Add , , "tva20,6", 60
            .Add , , "Remise", 60
            .Add , , "TotalHt", 60
            .Add , , "TotalTtc", 60

        End With

        .View = 3                   ' type Report
        .Gridlines = True           ' affichage de lignes
        .FullRowSelect = True       ' sélection complète de la ligne
        .HideColumnHeaders = False  ' afficher les en-têtes de colonnes
        .LabelEdit = 1              ' ne pas autoriser la saisie
        .BackColor = RGB(255, 255, 255)
        .ForeColor = RGB(0, 0, 0)
        .Font.Size = 11
        .FlatScrollBar = False
    End With
    Me.obTranche = True
    Me.obCommentaire = False
    TextBox2.SetFocus
    'Me.modif.Visible = False
    TxAdCh.Visible = False
    'ouverture.Show
CB_OK.Visible = False
Lbcp.Visible = False
Txadresse.Visible = False
LBville.Visible = False
cboCP.Visible = False
LBadresse.Visible = False
lstVille.Visible = False
txtclient.Text = Range("J4").Value
Lbdate.Caption = Sheets("Facture").Range("R1")
Lb_nomfeuil.Caption = Sheets("Facture").Range("D1")
Lbnfeuil.Caption = Lb_nomfeuil.Caption & " " & "N°"
End Sub

comme cela on peu voir ou est utiliser le cboTVA

edit Minanse pas vu ta réponse et comment y utiliser cette boucle for

Désolé grisan29 mon aide s'arrête là :s

Je ne peux pas reproduire ton erreur, et mon ordinateur rejette violemment tous les listview (ils n'ont jamais fonctionné chez moi) je suis donc à court d'options pour t'aider :/

Met un point d'arrêt sur la procédure et exécute en pas à pas, c'est la seule chose que je peux te conseiller ^^

Bonjour,

Une erreur 70 ne provient pas du code. Je doute donc qu'on puisse la résoudre ainsi !

Il me semble que tu devrais redémarrer ta machine et voir ensuite...

Au passage (j'ai vu sans regarder spécialement) : Click est toujours à mon avis un mauvais choix pour une ComboBox ou une ListBox, les évènement Click et Change ne coincident pas toujours !

Cordialement.

bonjour Mferrand

le souci est d'avant aujourd’hui, mais ce weekend j'ai remis ma machine a plat et le problème est le même, redémmarrer ne change pas les choses

En tout cas, cela ne vient pas du code. Comme l'a indiqué d3d9x l'erreur ne se produit que chez toi.

Et de toute façon l'erreur 70 repose soit sur un refus de type sécurité (tu n'es pas habilité...), soit le fichier est accaparé ailleurs...

Le phénomène se produit-il dans d'autres fichiers ?

bonjour MFerrand, d3d9x et le forum

non le souci n'est pas ailleurs car il n'y a que dans ce fichier ce type de code, du moins dans ce que j'utilise

Rechercher des sujets similaires à "code combobox qui bug"