probleme sur un petit bout de code

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 !

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
 
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

@+
 
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.

@+
 
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

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 ?

@+
 
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. ??
 
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

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)...

@+
 
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
 
- 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
9
Affichages
201
Réponses
5
Affichages
243
Réponses
14
Affichages
249
Réponses
7
Affichages
251
Réponses
2
Affichages
512
Réponses
3
Affichages
665
Retour