XL 2010 Remplissage de la feuille BD menus.

BUDGETS

XLDnaute Impliqué
Bonjour à toutes et à tous.

Dans la feuille BD menus, tableau TBDMenus, il y a x colonnes avec des noms qui reprennent le nom des cb et des tb du formulaire UserForm UF02_CM. J'ai fait des tests avant que le code de la procédure cmdVCM_Click ne soit partiellement écrit. Les résultats ont été concluants. J'ai donc commencé à écrire le code de la procédure cmdVCM_Click et fait des premiers tests qui ne donnent pas le résultat attendu. En effet, dans la feuille BD menus, les enregistrements se placent dans la ligne 1, où se trouvent le nom des colonnes. Il m'a été signalé que c'était normal car LgArt n'était pas initialisé et, que de ce fait, Ici valait 0 mais impossible d'en savoir plus. J'ai recherché dans les modules et dans l'UserForm UF01_CAM mais je n'ai rien trouvé. Dans cette procédure, j'ai mis certaines instructions en commentaires pensant que cela résoudrait le problème mais cela n'a eu aucun effet. Par rapport au code de l'Userorm UF01_CAM, certaines procédures et instructions ne sont pas encore créées : une relation de cause à effet ? Je ne sais pas. Un dernier point : je ne suis pas un expert en développement et j'ai l'esprit de déduction sinon absent, tout au moins très faible, peu développé.
Merci d'avance à celle ou à celui qui pourra résoudre ce problème.

Bonnes journée et continuation à toutes et à tous.
 

Pièces jointes

  • MENUS 1.xlsm
    259.4 KB · Affichages: 13

BrunoM45

XLDnaute Barbatruc
Bonjour,

Vous utilisez des DTpicker dans votre fichier ?

1637803758607.png


Dommage 🤪

Sinon, tu es inscrit depuis 2012 (9 ans) et tu n'as toujours pas assimilé 🤔 :eek:
 
Dernière édition:

BrunoM45

XLDnaute Barbatruc
Re,

C'est vrai que le problème vient toujours de chez les autres... c'est plus facile 🤣

Ceci dit, j'ai une version 64bits donc logique que j'ai ce souci !
Ce que je voulais dire, c'est qu'il aurait fallut depuis longtemps abandonner ces DTpicker (ce n'est que mon avis) 😜

J'en reviens au fait que vous n'avez toujours pas assimilé depuis 9 ans (rien que l'espacement des lignes de codes) 😱

Comme je ne peut pas faire tourner le fichier à cause des DTP, voir mon commentaire dans le code (mieux comme ça, non)
VB:
Private Sub cmdVCM_Click()
'Contrôle cellule obligatoire
    If cbCNM.Value = "" Then  
        MsgBox "Pas de code nature menu saisi !", vbExclamation
        cbCNM.SetFocus  
        Exit Sub
    End If
    'If LgArt = -1 Then ' Nouveau code article
    'Sur la feuille BD menus, ajouter une ligne vide en fin de tableau.  
    '    With Feuille_Liste_BD_menus.ListObjects("TBDMenus")
    '        .ListRows.Add
    '        Ici = .ListRows.Count 'Indice de la dernière ligne du tableau
    '    End With
    'Else
        'Même ligne pour modification
        ' ICI !! D'où vient la valeur de LgArt ???
        Ici = LgArt
    'End If
'Insérer les données dans la feuille BD menus (TBMemnus) dans la dernière ligne nouvellement ajoutée.
    'Code nature menu.
    Range("TBDMenus[CNM]").Item(Ici) = cbCNM.Value      
    'Nom nature menu.
    Range("TBDMenus[NNM]").Item(Ici) = tbNNM.Value
    'Code menu.
    Range("TBDMenus[CM]").Item(Ici) = cbCM.Value
    'Nom menu.
    Range("TBDMenus[NM]").Item(Ici) = tbNM.Value
    'Date du menu.
    Range("TBDMenus[DDM]").Item(Ici) = DTPickerDDM.Value
    'Date création menu.
    Range("TBDMenus[DCM]").Item(Ici) = DTPickerDCM.Value
    'Code menu légume.
    Range("TBDMenus[CML]").Item(Ici) = cbCML.Value
    'Nom menu légume.
    Range("TBDMenus[NML]").Item(Ici) = tbNML.Value
End Sub
 

BUDGETS

XLDnaute Impliqué
Private Sub cmdVCM_Click() 'Contrôle cellule obligatoire If cbCNM.Value = "" Then MsgBox "Pas de code nature menu saisi !", vbExclamation cbCNM.SetFocus Exit Sub End If 'If LgArt = -1 Then ' Nouveau code article 'Sur la feuille BD menus, ajouter une ligne vide en fin de tableau. ' With Feuille_Liste_BD_menus.ListObjects("TBDMenus") ' .ListRows.Add ' Ici = .ListRows.Count 'Indice de la dernière ligne du tableau ' End With 'Else 'Même ligne pour modification ' ICI !! D'où vient la valeur de LgArt ??? Ici = LgArt 'End If 'Insérer les données dans la feuille BD menus (TBMemnus) dans la dernière ligne nouvellement ajoutée. 'Code nature menu. Range("TBDMenus[CNM]").Item(Ici) = cbCNM.Value 'Nom nature menu. Range("TBDMenus[NNM]").Item(Ici) = tbNNM.Value 'Code menu. Range("TBDMenus[CM]").Item(Ici) = cbCM.Value 'Nom menu. Range("TBDMenus[NM]").Item(Ici) = tbNM.Value 'Date du menu. Range("TBDMenus[DDM]").Item(Ici) = DTPickerDDM.Value 'Date création menu. Range("TBDMenus[DCM]").Item(Ici) = DTPickerDCM.Value 'Code menu légume. Range("TBDMenus[CML]").Item(Ici) = cbCML.Value 'Nom menu légume. Range("TBDMenus[NML]").Item(Ici) = tbNML.Value End Sub
 

BUDGETS

XLDnaute Impliqué
Re,

C'est vrai que le problème vient toujours de chez les autres... c'est plus facile 🤣

Ceci dit, j'ai une version 64bits donc logique que j'ai ce souci !
Ce que je voulais dire, c'est qu'il aurait fallut depuis longtemps abandonner ces DTpicker (ce n'est que mon avis) 😜

J'en reviens au fait que vous n'avez toujours pas assimilé depuis 9 ans (rien que l'espacement des lignes de codes) 😱

Comme je ne peut pas faire tourner le fichier à cause des DTP, voir mon commentaire dans le code (mieux comme ça, non)
VB:
Private Sub cmdVCM_Click()
'Contrôle cellule obligatoire
    If cbCNM.Value = "" Then 
        MsgBox "Pas de code nature menu saisi !", vbExclamation
        cbCNM.SetFocus 
        Exit Sub
    End If
    'If LgArt = -1 Then ' Nouveau code article
    'Sur la feuille BD menus, ajouter une ligne vide en fin de tableau. 
    '    With Feuille_Liste_BD_menus.ListObjects("TBDMenus")
    '        .ListRows.Add
    '        Ici = .ListRows.Count 'Indice de la dernière ligne du tableau
    '    End With
    'Else
        'Même ligne pour modification
        ' ICI !! D'où vient la valeur de LgArt ???
        Ici = LgArt
    'End If
'Insérer les données dans la feuille BD menus (TBMemnus) dans la dernière ligne nouvellement ajoutée.
    'Code nature menu.
    Range("TBDMenus[CNM]").Item(Ici) = cbCNM.Value     
    'Nom nature menu.
    Range("TBDMenus[NNM]").Item(Ici) = tbNNM.Value
    'Code menu.
    Range("TBDMenus[CM]").Item(Ici) = cbCM.Value
    'Nom menu.
    Range("TBDMenus[NM]").Item(Ici) = tbNM.Value
    'Date du menu.
    Range("TBDMenus[DDM]").Item(Ici) = DTPickerDDM.Value
    'Date création menu.
    Range("TBDMenus[DCM]").Item(Ici) = DTPickerDCM.Value
    'Code menu légume.
    Range("TBDMenus[CML]").Item(Ici) = cbCML.Value
    'Nom menu légume.
    Range("TBDMenus[NML]").Item(Ici) = tbNML.Value
End Sub
Bonjour BrunoM45,

Je suis autodidacte en développement et je n'ai pas l'esprit de déduction très développé. Donc pour répondre à ta question (d'où vient la valeur de LgArt ?), franchement, je ne sais pas. Si tu le sais, merci de me le dire.
Bonnes journée et continuation.
 

BrunoM45

XLDnaute Barbatruc
Navré Budgets,

Ce n'est pas un problème de "déduction" mais de volonté d'apprentissage de la langue (c'est comme pour l'anglais, l'italien, etc..)

Et je ne sais pas non plus si "LgArt" est initialiser avec une valeur à un moment donné, pas envie de chercher, tout comme tu n'as pas envie d'apprendre :rolleyes:

Bon courage
 

Statistiques des forums

Discussions
292 828
Messages
1 926 648
Membres
183 164
dernier inscrit
Olimal