probleme sur un petit bout de code

rainbow69006

XLDnaute Occasionnel
Bonjour a tous

Exposer de mon probleme:
J'ai une combobox1 qui me donne acces a une combobox2
je souhaiterais que si je selectionne un mot dans la combobox2 qui soit present dans la colonne C de la page 2 alors qu'un user form s'ouvre.

J'ai essayer de faire le code ci dessous. Mais j'ai une erreur "type mismatch"

With Sheets("tableau")
DerliH = .Range("H1200").End(xlUp).Row
If ComboBox2.Value = .Range("H3:H" & DerliH).Value Then userform2.Show
End With


Avez vous une idee?

merci a tous
 

porcinet82

XLDnaute Barbatruc
Re : probleme sur un petit bout de code

Salut,

Je n'ai pas testé, mais peut etre avec quelque chose comme ca :
Code:
With Sheets("tableau")
    For i = 1 To .Range("H1200").End(xlUp).Row
        If ComboBox2.Value = .Cells(i, 3).Value Then
            userform2.Show
            Exit For
        End If
    Next i
End With
 
[COLOR=green]'ou alors avec un Find[/COLOR]
With Sheets("tableau").Range("H3:H1200")
    ' on cherche l'adresse de la cellule contenant la valeur de la combo
    Set c = .Cells.Find(ComboBox2.Value, LookIn:=xlValues)
    If Not c Is Nothing Then
        userform2.Show
    End If
End With

@+
 

porcinet82

XLDnaute Barbatruc
Re : probleme sur un petit bout de code

Salut,

Je viens de regarder ton fichier, et ca fonctionne parfaitement comme ceci (avec l'un ou l'autre des codes) :
Code:
Private Sub ComboBox2_Change()
TextBox1.Visible = True
[COLOR=seagreen]'With Sheets("tableau")
     'For i = 1 To .Range("H1200").End(xlUp).Row
         'If ComboBox2.Value = .Cells(i, 3).Value Then
             'UserForm2.Show
             'Exit For
         'End If
     'Next i
'End With[/COLOR]
With Sheets("tableau").Range("C3:C1200")
   [COLOR=seagreen] ' on cherche l'adresse de la cellule contenant la valeur de la combo[/COLOR]
    Set c = .Cells.Find(ComboBox2.Value, LookIn:=xlValues)
    If Not c Is Nothing Then
        UserForm2.Show
    End If
End With
Label282.Caption = Range("C1") + 1
End Sub

Tu remarqueras que j'ai enelver ton code, n'ayant pas vraiment le temps de regarder a quoi il servait, mais je pense que tu peux le remettre avant d'insérer le mien.

@+
 

rainbow69006

XLDnaute Occasionnel
Re : probleme sur un petit bout de code

Bonjour porcinet.

Je suis assez surpris j'ai mi ton code et cela ne fais rien.

Je met mon fichier avec ton code. tu va voir je peu rentrer par exemple autant de boeing A33 que je veu

Bizarra bizarre

Merci de ton aide
 

Pièces jointes

  • rainbow E3.zip
    45.3 KB · Affichages: 29
  • rainbow E3.zip
    45.3 KB · Affichages: 30
  • rainbow E3.zip
    45.3 KB · Affichages: 24

porcinet82

XLDnaute Barbatruc
Re : probleme sur un petit bout de code

re,

Attend, soyons clair. Tu ouvres le usf via le bouton rouge "Fiche à remplir". Dans le combo de gauche, tu selectionnes boeing, le second combo s'active. Là, tu choisis A33 et a ce moment la, le second USF s'ouvre.
Chez moi, c'est ce que j'obtiens, c'est pas ca que tu souhaites ?

@+
 

herve62

XLDnaute Barbatruc
Supporter XLD
Re : probleme sur un petit bout de code

Bonjour
Je me suis amusé à tester : après avoir suivi votre exemple , un USF2 s'ouvre informant que les données existent déjà , on doit cliquer sur OUI ou NON pour modifier mais là aucun effet ???
on ne peut fermer que par la croix
Je ne vois pas comment fonctionne cette appli. ??
 

rainbow69006

XLDnaute Occasionnel
Re : probleme sur un petit bout de code

bonjour a tous

En effet sur le fichier que j'ai envoyer sa marche bizarre!!

Encore plus bizarre regarde le fichier que j'ai joint.
Si tu ressaye de reentrer Airbus A36 l'userform2 ne s'ouvre pas (ce qui n'est pas normal)
par contre si tu ressaye de reeentrer Boeing A33 a ce moment la l'userform2 s'ouvre.

Pourtant il n'y a pas de difference.

Je ne comprend pas

PS: pour repondre a herve82 oui c'est normal pour le moment je n'ai pas fais le code qui va avec l'userform2
 

Pièces jointes

  • rainbow E3.zip
    45.7 KB · Affichages: 27
  • rainbow E3.zip
    45.7 KB · Affichages: 22
  • rainbow E3.zip
    45.7 KB · Affichages: 23

porcinet82

XLDnaute Barbatruc
Re : probleme sur un petit bout de code

re,

C'est a cause des cellules fusionnées !!!! On ne repetera jamais assez, qu'il faut eviter les cellules fusionnées, puisqu'elles engendre souvent des problèmes de code !!!
Donc soit tu mets With Sheets("tableau").Columns("H:K"), soit tu enleves tes cellules fusionnées, soit tu prends la boucle (j'ai pas testé, mais elle devrait fonctionner malgré les cellules fusionnées)...

@+
 

rainbow69006

XLDnaute Occasionnel
Re : probleme sur un petit bout de code

Ah

C'est bon avec ta correction With Sheets("tableau").Columns("H:K"), sa marche super.

Desoler pour les cellules fusionner quand j'ai commencer mon programe j'ai pas penser que cela pourrait creer des problemes.

J'y penserais la prochaine fois.

Merci
 

Discussions similaires

Réponses
2
Affichages
173

Statistiques des forums

Discussions
312 451
Messages
2 088 527
Membres
103 879
dernier inscrit
JJB2