Choix de vérification

Rémy00

XLDnaute Nouveau
Bonjour à tous

Explication succinctes du Excel : C'est un Excel qui permet d'ajouter, de supprimer des véhicules en panne ou non dans ma base de données, une fois ces véhicules ajoutés à la base de données on peut les réparer à partir d'une liste de pièce données.

Pour éviter les doublons dans ma base de données pour les pièces je souhaite créer une sorte de vérification pour l'ajout d'une pièce.

Les pièces sont définies par un nom, un véhicule et une quantité mais falcultatif ici

Exemple : Une pièce existante est nommée Chaine et appartient au véhicule Rotax
Une nouvelle pièce veut être créé, elle s'appelle Chaine appartient au véhicule Rotax alors un message box s'affiche pour dire qu'il y a un problème.
Si la nouvelle pièce s'appelle Chaine mais appartient au véhicule KZ alors la pièce est ajoutée au tableau.

Le code pour la vérification du nom existe déjà mais je ne sais pas comment m'y prendre pour créer le choix pour accepter ou non une pièce en fonction du nom de véhicule.

Merci d'avance
 

Pièces jointes

  • Excel Suivi de vehicule V2.xlsm
    334.8 KB · Affichages: 12

youky(BJ)

XLDnaute Barbatruc
Bonjour Rémy,
Comme il y a beaucoup de routine j'ai pas cherché ou mettre ce code que voici

Bruno
VB:
Dim lg
With Feuil3
For k = 2 To .[A65000].End(3).Row
'k étant la pièce et l le véhicule
If .Cells(lg, 1) = k And .Cells(lg, 2) = l Then
 MsgBox ("Pièce déjà existante pour ce véhicule" & Chr(10) & Chr(10) & "ANNULATION !"): Exit Sub
Next
End With
 

youky(BJ)

XLDnaute Barbatruc
Yes, boulette de ma part j'avais omis de changer For k par For lg
Par cotre il faut que la variable k=NomPièce er l=Véhicule
Je n'ai toujours pas vu ou mettre ce code . . . .
Pourquoi utiliser des Modules de classe ils ne sont pas utilisés comme tels(enfin je crois)
Bruno

Dim lg
With Feuil3
For lg = 2 To .[A65000].End(3).Row
'k étant la pièce et l le véhicule
If .Cells(lg, 1) = k And .Cells(lg, 2) = l Then
MsgBox ("Pièce déjà existante pour ce véhicule" & Chr(10) & Chr(10) & "ANNULATION !"): Exit Sub
Next
End With
 

Rémy00

XLDnaute Nouveau
Re
Pour vous laisser un repère j'ai laissé voir ancien code entre ' ' dans le fichier ci-joint.
Et je n'arrive toujours pas à le faire fonctionner avec votre code
 

Pièces jointes

  • Excel Suivi de vehicule V2.xlsm
    340.5 KB · Affichages: 4

youky(BJ)

XLDnaute Barbatruc
Je pense être OK
J'avais pas le même fichier
Bruno
VB:
Public Sub CreerPièce(k As String, l As String, m As String, p As String)
Dim lg
With Worksheets("Stock")
For lg = 2 To .[A65000].End(3).Row
'k étant la pièce et l le véhicule
If .Cells(lg, 1) = k And .Cells(lg, 2) = l Then
 MsgBox ("Pièce déjà existante pour ce véhicule" & Chr(10) & Chr(10) & "ANNULATION !"): Exit Sub
 End If
Next
End With
 End Sub
 

youky(BJ)

XLDnaute Barbatruc
Nouveau code à mettre en AjouterPièceForm en bouton Ajouter
Bruno
VB:
Private Sub AjoutPièceButton_Click()
 Dim NouveauPiece As New Stock
  Dim lg
    If VéhiculeBox.Value = "" Or TypeBox.Value = "" Or PièceBox.Value = "" Or NombreBox.Value = "" Then
MsgBox "Veuillez renseigner ces informations !"
   Else
With Feuil3
 For lg = 2 To .[A65000].End(3).Row
'k étant la pièce et l le véhicule
  If .Cells(lg, 1) = PièceBox And .Cells(lg, 2) = VéhiculeBox Then
   MsgBox ("Pièce déjà existante pour ce véhicule" & Chr(10) & Chr(10) & "ANNULATION !"): Exit Sub
   End If
 Next
End With
    
    Call NouveauPiece.CreerPièce(PièceBox, VéhiculeBox, TypeBox, NombreBox)
    NouveauPiece.sauvegarder
    Unload Me
    End If

    If Not IsNumeric(NombreBox1) Then
        MsgBox ("Veuillez rentrer un nombre")
        NombreBox.Text = Mid(NombreBox.Text, 1, Len(NombreBox.Text) - 1)
    End If
    Unload AjouterPièceForm
AjouterPièceForm.Show
End Sub
 

youky(BJ)

XLDnaute Barbatruc
Ho! c'est possible mais dommage car ils ne sont pas utilisés pour ce qu'ils peuvent fournir.
Perso je ne renomme jamais mes user ni mes controls, en cas de boucle sur exemple 10 textbox
for k=1 to 10
cells(ligne,k)=controls("TextBox" & k
next
et je mets le code direct dans le bouton en évitant trop de routine
Bruno
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 813
dernier inscrit
kaiyi