VBA recherchev & combobox

VBA recherchev & combobox - VB/VBA/VBS - Programmation

Marsh Posté le 11-03-2010 à 19:38:54    

Bonjour,
 
J'ai un petit souci sur une fonction recherchev qui a pour critère la saisie en cours d'une Combobox.
J'ai vu des sujets qui approchent de mon problème mais qui ne m'ont pas aidé.
En même temps, ça fait que 10 jours que je commence à jouer avec le VBA et je ne suis pas doué !
 
Pour résumer:  
 
Sur feuille "AME", j'ai un listing d'appareils. (Colonne A: La REF de l'appareils; Colonne  B à F: Marque, type .etc)
J'ai créé un USERFORM de saisie des appareils à enregistrer.
Le Combobox3 sert à sélectionner l'appareil
Et j'ai plusieurs Textbox protégés en écriture pour pouvoir lire les informations de mon appareil avant de l'enregistrer.
Pour l'instant, j'ai réussi a remplir ma Combobox avec toutes les références de la colonne A (sheets"AME" ), quand je sélectionne une valeur dans la Combobox  
j'ai immédiatement les informations de mon appareils dans les Texbox en consultation.
Jusque là, tout va bien, et je suis même très contant.
 
 
Mon problème:
 
Quand je veux saisir un appareil qui n'appartient pas à la Combobox, ma macro plante (Erreur d'exécution 91) !
Ma macro doit chercher dans la feuille mais ne trouve rien.
J'aimerai occasionnellement pouvoir saisir un nouvel appareil même si il n'est pas référencé dans la feuille AME.
Comment puis-je résoudre se problème?  
 
 
 
Private Sub ComboBox3_Change()
 
Dim a1 As Integer
Dim cherche1 As String
Sheets("AME" ).Select
cherche1 = ComboBox3.Value
 
a1 = Sheets("AME" ).Cells.Find(What:=cherche1, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlNext).Row
TextBox9 = Range("A" & a1).Offset(0, 1).Value
TextBox10 = Range("A" & a1).Offset(0, 2).Value
TextBox11 = Range("A" & a1).Offset(0, 3).Value
TextBox12 = Range("A" & a1).Offset(0, 4).Value
TextBox13 = Range("A" & a1).Offset(0, 5).Value
 
End Sub
 
 
Merci d'avance à tous ceux qui auront le courage de me lire.
 
 

Reply

Marsh Posté le 11-03-2010 à 19:38:54   

Reply

Marsh Posté le 12-03-2010 à 11:52:02    

Bonjour
 

  • Déjà il faudrait je pense, passer la propriété MatchRequired de ta combo a False histoire que tu puisses en sortir s'il n'y pas de correspondance avec les entrées de la liste.
  • Ensuite, qd tu sors/valide ce qui est saisi dans ta combo, verifier que cette entrée existe,  

si oui, tu actualises tes textbox (comme c'est le cas actuellement si j'ai tout suivi)
sinon tu vas créer ta ligne suplémentaire de ton appareil electro, et ensuite tu actualises tes Textbox
 
Cordialement


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 12-03-2010 à 18:02:35    

Merci pour votre reponse !  
 
En faite je ne veux pas rajouter la nouvelle reference à la liste, je veux juste l'accepter comme elle est saisie.
 
Sur mon userform j'ai un textbox "remarque".
 
Je veux faire une condition si "combobox.value" n'appartient pas a la liste et que textbox "remarque" est  null on ne peut pas l'enregistrer.
 
Vos commentaires sont tres interessant et mon bien aiguiilés
 
Bon WE
 
 
 
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed