XL 2016 Erreur dans code VBA

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 !

piga25

XLDnaute Barbatruc
Bonjour,
Dans le fichier joint, en cliquant dans une cellule du tableau cela ouvre un Userform. C'est là que j'ai un problème, après avoir renseigné les 3 combobox de l'EPI concerné, le code suivant devrait normalement me renseigner les 2 label (dernière vérification) - Je n'arrive pas a afficher la ligne qui correspond au critères des 3 combobox.
VB:
Private Sub RenseignerLabels()
    Dim ws As Worksheet
    Set ws = ActiveSheet
    Dim rowNum As Long

    ' Boucle à partir de la ligne 6 jusqu'à la dernière ligne non vide de la colonne A
    For rowNum = 6 To ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
        ' Vérifie si les valeurs des cellules correspondent aux ComboBox 1, 3 et 4
        If ws.Cells(rowNum, 1).Value = Me.ComboBox1.Value And _
           ws.Cells(rowNum, 3).Value = Me.ComboBox3.Value And _
           ws.Cells(rowNum, 4).Value = Me.ComboBox4.Value Then
          
            ' Remplir Label10 avec la valeur de la colonne 11 (date de vérification)
            Me.Label10.Caption = ws.Cells(rowNum, 11).Value ' Date de vérification

            ' Remplir Label11 avec la valeur de la colonne 5 (statut)
            Me.Label11.Caption = ws.Cells(rowNum, 5).Value ' Statut

            ' Afficher le numéro de la ligne dans un label (par exemple Label12)
            'Me.Label12.Caption = "Ligne correspondante : " & rowNum

            ' Quitter la boucle une fois la ligne correspondante trouvée
            Exit For
        End If
    Next rowNum
End Sub
 

Pièces jointes

Dernière édition:
Re
dans ton ancien système pour répertorie tes matériels , tu avais quoi comme ligne de données ?
un numéro de série (premier) et le Nombre d'éléments dans la Série ?
Non juste un numéro de lot, aucun n° de série (on mettait la facture comme justificatif). Ce qui veut dire que l'on connait aucun n° de série, il faudra les lire un par un.
 
Re
je pense que tu vas avoir un gros travail de préparation avant la saisie !
tu tries en fonction des Numéros de série , tu auras ainsi des suites et après tu peux saisir!
car les entrer un par un ça t'oblige des que tu commence a rechercher la même série dans ton lot de 200 lol etc etc
Bon courage
jean marie
 
Re
une fois le travail de tri fait tu pourrais utiliser la méthode que je t'ai présenté , il faut adapter pour prendre en compte l'ensemble des éléments d'un enregistrement , mais c'est possible !
Bon courage
n'hésite pas à revenir lorsque que tu auras fais le tri Lol
à moins que tu ais une réponse qui te permette de faire ce que tu veux !
Bon courage
Jean marie
 
Soit tu ajoutes un bouton "Ajouter même EPI", qui n'efface que le numéro de série, voire rien.

Soit tu fais tout simplement une copie d'une ligne du tableau que tu insères dans ce même tableau, le tout à l'ancienne, à la main, sans passer par ton UserForm.
 
re
Bonjour bonjour
oui l'inputbox serait une solution pour entrer un lot
avec un bouton supplémentaire par exemple
Pour afficher ce contenu, nous aurons besoin de votre consentement pour définir des cookies tiers.
Pour plus d'informations, consultez notre page sur les cookies.
 

Pièces jointes

Re
Patrick , le problème,c'est que piga a des objets avec des références dont il ne connait pas les limites ce n'est qu'après un tri qu'il pourra savoir combien il a de tel objet et autant de tel autre . Il pourra alors utiliser la solution avec boucle qu'il voudra .
Actuellement ,il entre une par une les numéros de série par références d'objet.
Bonne fin de soirée
Jean marie
 
re
jean-marie
le problème,c'est que piga a des objets avec des références dont il ne connait pas les limites ce n'est qu'après un tri qu'il pourra savoir combien il a de tel objet et autant de tel autre . Il pourra alors utiliser la solution avec boucle qu'il voudra .
et ben alors on le fait par clicks successifs dans mon bouton c'est tout et on enlève le input box
c'est pas compliqué 😉
VB:
Private Sub ajouter_lot_Click()
    Dim nb&, i&
         With Range("tableau2").ListObject.ListRows.Add.Range
            .Cells(1) = ComboBox1 'Description
            .Cells(2) = ComboBox2 'Marque
            .Cells(3) = ComboBox3 'Modèle
            .Cells(4) = Val(ComboBox4)  'N° de série
            .Cells(6) = CDate(TextBox6) 'Date de fabrication
            .Cells(9) = CDate(TextBox7) 'Date de mise en service
            'etc..
            'etc...
        End With
    ComboBox4.Value = Val(ComboBox4) + 1
End Sub
demo1.gif
 
Re
Ça semble simple dit comme cela ! Mais d'après ce que j'ai compris , il y a un travail de tri à faire avant d'enregistrer .Exemple
200 objets de même nature " boucle " .par exemple 3 fournisseurs différents, 2 types ,3 types 1 type selon fournisseur.
Puis des séries différentes de x objets.
Mais tu as trouvé la solution ,c'est super pour piga25.
As tu regardé le type de N°de Série #49
Bonne continuation
Jean marie
 
@piga25
tout simplement par ce que tes numéros de séries ne sont pas des numériques
il te faut décanter la chaine et additionner a la partie concernée (la dernière je suppose)
exemple comme ceci
tes numeros de series peuvent être des nombre
ou des chaines du genre "1623 - 456 - 835
VB:
Private Sub ajouter_lot_Click()
    Dim nb&, i&
    With Range("tableau2").ListObject.ListRows.Add.Range
        .Cells(1) = ComboBox1 'Description
        .Cells(2) = ComboBox2 'Marque
        .Cells(3) = ComboBox3 'Modèle
        .Cells(4) = Val(ComboBox4) 'N° de série
        .Cells(6) = CDate(TextBox6) 'Date de fabrication
        .Cells(9) = CDate(TextBox7) 'Date de mise en service
        'etc..
        'etc...
    End With
    chaine = ComboBox4
    t = Split(chaine, " - ")
    If UBound(t) > 0 Then
        t(UBound(t)) = t(UBound(t)) + 1
        chaine = Join(t, " - ")
    Else
        chaine = Val(chaine + 1)
    End If

    ComboBox4.Value = chaine
End Sub
 
Re,
Merci à vous tous avec un plus pour patricktoulon pour ses explications vidéo.
Pour moi le fichier est maintenant fonctionnel. Il me reste à le soumettre à mes camarades qui sont habilités pour la vérifications. Mais là je n'ai aucun doute sur leur accord.
A l'ensemble des contributeurs merci 😁😁😁

Pour info: si la spéléologie vous intrigue un peu, sachez que notre fédérations FFS organise les journées nationale de la spéléologie les 5 et 6 octobre 2024. Dans tous les départements il y aura des visites accompagnées et tout cela est gratuit.
 
- 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

Réponses
0
Affichages
367
Réponses
1
Affichages
452
Réponses
5
Affichages
470
Réponses
3
Affichages
485
Retour