Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacky
Bonjour Apitos,
-Si plusieurs occurrences trouvées
Dans l'exemple donné 1- La recherche par le n° ne trouvera jamais plusieurs occurences dans la colonne A, puisque celle ci est(doit) être unique. 2- Ceci est eronée X = Application.Match(Range([A2], [A65000].End(xlUp)), Vlr, 0)
Pour debuter :;) Pour la "recherche unique" par le numero par "un texbox", la procédure pourrait ressembler à ceci: '------------ Private Sub BtnRechercher_Click() Dim X As Long, Vlr As Long Vlr = TextBox1.Value If IsNumeric(Application.Match(Vlr, Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row), 0)) Then 'Si on trouve une seule occurrence 'On remplit le TextBox et on cache le ComboBox ComboBox1.Visible = False TextBox1.Visible = True X = Application.Match(Vlr, Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row), 0) + 1 TextBox2.Value = Range("C" & X) TextBox3.Value = Range("B" & X) Else MsgBox "Numéro inexistant", 64, "Recherche" End If End Sub '------------- Comme les numeros sont uniques cela pourrait être aisément remplacé par un ComboBox et faire la recherche par le nom qui remplit un ComboBox si ce nom est dupliqué. A toi de voir..
-- Salutations JJ
Apitos a exposé le 06/12/2015 :
Bonjour à tous,
J'aimerais selon les occurrences trouvées, basculer entre l'affichage du résultat trouvé dans un TextBox ou un ComboBox
-Si on trouve une seule occurrence : On affiche dans le TextBox et on cache le ComboBox
-Si plusieurs occurrences trouvées : On remplit le ComboBox et on masque le TextBox.
http://www.cjoint.com/c/ELfxhqY5Utz
Merci d'avance.
Bonjour Apitos,
-Si plusieurs occurrences trouvées
Dans l'exemple donné
1- La recherche par le n° ne trouvera jamais plusieurs occurences dans
la colonne A, puisque celle ci est(doit) être unique.
2- Ceci est eronée
X = Application.Match(Range([A2], [A65000].End(xlUp)), Vlr, 0)
Pour debuter
:;)
Pour la "recherche unique" par le numero par "un texbox", la procédure
pourrait ressembler à ceci:
'------------
Private Sub BtnRechercher_Click()
Dim X As Long, Vlr As Long
Vlr = TextBox1.Value
If IsNumeric(Application.Match(Vlr, Range("A2:A" & Range("A" &
Rows.Count).End(xlUp).Row), 0)) Then
'Si on trouve une seule occurrence
'On remplit le TextBox et on cache le ComboBox
ComboBox1.Visible = False
TextBox1.Visible = True
X = Application.Match(Vlr, Range("A2:A" & Range("A" &
Rows.Count).End(xlUp).Row), 0) + 1
TextBox2.Value = Range("C" & X)
TextBox3.Value = Range("B" & X)
Else
MsgBox "Numéro inexistant", 64, "Recherche"
End If
End Sub
'-------------
Comme les numeros sont uniques cela pourrait être aisément remplacé par
un ComboBox et faire la recherche par le nom qui remplit un ComboBox si
ce nom est dupliqué.
A toi de voir..
--
Salutations
JJ
Apitos a exposé le 06/12/2015 :
Bonjour à tous,
J'aimerais selon les occurrences trouvées, basculer entre l'affichage du
résultat trouvé dans un TextBox ou un ComboBox
-Si on trouve une seule occurrence :
On affiche dans le TextBox et on cache le ComboBox
-Si plusieurs occurrences trouvées :
On remplit le ComboBox et on masque le TextBox.
Dans l'exemple donné 1- La recherche par le n° ne trouvera jamais plusieurs occurences dans la colonne A, puisque celle ci est(doit) être unique. 2- Ceci est eronée X = Application.Match(Range([A2], [A65000].End(xlUp)), Vlr, 0)
Pour debuter :;) Pour la "recherche unique" par le numero par "un texbox", la procédure pourrait ressembler à ceci: '------------ Private Sub BtnRechercher_Click() Dim X As Long, Vlr As Long Vlr = TextBox1.Value If IsNumeric(Application.Match(Vlr, Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row), 0)) Then 'Si on trouve une seule occurrence 'On remplit le TextBox et on cache le ComboBox ComboBox1.Visible = False TextBox1.Visible = True X = Application.Match(Vlr, Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row), 0) + 1 TextBox2.Value = Range("C" & X) TextBox3.Value = Range("B" & X) Else MsgBox "Numéro inexistant", 64, "Recherche" End If End Sub '------------- Comme les numeros sont uniques cela pourrait être aisément remplacé par un ComboBox et faire la recherche par le nom qui remplit un ComboBox si ce nom est dupliqué. A toi de voir..
-- Salutations JJ
Apitos a exposé le 06/12/2015 :
Bonjour à tous,
J'aimerais selon les occurrences trouvées, basculer entre l'affichage du résultat trouvé dans un TextBox ou un ComboBox
-Si on trouve une seule occurrence : On affiche dans le TextBox et on cache le ComboBox
-Si plusieurs occurrences trouvées : On remplit le ComboBox et on masque le TextBox.
http://www.cjoint.com/c/ELfxhqY5Utz
Merci d'avance.
Apitos
Bonjour Jacky,
Merci pour l'astuce.
Voila un nouveau code avec à la base une recherche sur les noms des titul aires des numéros :
http://www.cjoint.com/c/ELgvrY2PMfN
Bonjour Jacky,
Merci pour l'astuce.
Voila un nouveau code avec à la base une recherche sur les noms des titul aires des numéros :
Voila un nouveau code avec à la base une recherche sur les noms des titul aires des numéros :
http://www.cjoint.com/c/ELgvrY2PMfN
Apitos
Bonjour,
Voila le code :
'----------------------------
Private Sub BtnRechercher_Click() Dim Vlr As Long, Tit As String Dim Cel As Range, xC As Long, xTc As Long
Vlr = TextBox1.Value
If IsNumeric(Application.Match(Vlr, Range("A2:A" & Range("A" & Rows.Cou nt).End(xlUp).Row), 0)) Then xC = Application.Match(Vlr, Range("A2:A" & Range("A" & Rows.Count ).End(xlUp).Row), 0) + 1 Tit = Range("B" & xC) xTc = Application.CountIf(Range("B2:B" & Range("B" & Rows.Count). End(xlUp).Row), Tit) If xTc = 1 Then 'Si on trouve une seule occurrence 'On remplit le TextBox et on cache le ComboBox ComboBox1.Visible = False TextBox2.Visible = True ComboBox2.Visible = False TextBox4.Visible = True TextBox2.Value = Range("A" & xC) TextBox3.Value = Range("B" & xC) TextBox4.Value = Range("C" & xC) ElseIf xTc > 1 Then ComboBox1.Visible = True TextBox2.Visible = False ComboBox2.Visible = True TextBox4.Visible = False
Alim_Combo 1, Tit Alim_Combo 2, Tit End If Else MsgBox "Numéro inexistant", 64, "Recherche" End If End Sub '-------------
Private Sub ComboBox1_Change() Me.TextBox3 = "" If Me.ComboBox1.ListIndex = -1 Then Exit Sub Me.TextBox3 = Range("B" & Me.ComboBox1.List(Me.ComboBox1.ListIndex, 1 )) End Sub Private Sub ComboBox2_Change() Me.TextBox3 = "" If Me.ComboBox2.ListIndex = -1 Then Exit Sub Me.TextBox3 = Range("B" & Me.ComboBox1.List(Me.ComboBox1.ListIndex, 1 )) End Sub
Private Sub CommandButton2_Click() Unload Me End Sub
Private Sub Alim_Combo(CbxIndex As Integer, Optional Titulaire As Variant) Dim j As Integer Dim obj As Control
'Définit le ComboBox à remplir Set obj = Me.Controls("ComboBox" & CbxIndex) 'Supprime les anciennes données obj.Clear For Each c In Range([B2], [B65000].End(xlUp))
If c Like Titulaire Then If CbxIndex = 1 Then obj.AddItem c.Offset(0, -1) Else obj.AddItem c.Offset(0, 1) End If obj.List(obj.ListCount - 1, 1) = c.Row End If Next c obj.ListIndex = 0 End Sub Private Sub UserForm_Initialize() TextBox1.Visible = True With ComboBox1 .Visible = False .ColumnCount = 2 .ColumnWidths = "-1;0" .ListRows = 0 End With With ComboBox2 .Visible = False .ColumnCount = 2 .ColumnWidths = "-1;0" .ListRows = 0 End With End Sub
'----------------------------
Bonjour,
Voila le code :
'----------------------------
Private Sub BtnRechercher_Click()
Dim Vlr As Long, Tit As String
Dim Cel As Range, xC As Long, xTc As Long
Vlr = TextBox1.Value
If IsNumeric(Application.Match(Vlr, Range("A2:A" & Range("A" & Rows.Cou nt).End(xlUp).Row), 0)) Then
xC = Application.Match(Vlr, Range("A2:A" & Range("A" & Rows.Count ).End(xlUp).Row), 0) + 1
Tit = Range("B" & xC)
xTc = Application.CountIf(Range("B2:B" & Range("B" & Rows.Count). End(xlUp).Row), Tit)
If xTc = 1 Then
'Si on trouve une seule occurrence
'On remplit le TextBox et on cache le ComboBox
ComboBox1.Visible = False
TextBox2.Visible = True
ComboBox2.Visible = False
TextBox4.Visible = True
TextBox2.Value = Range("A" & xC)
TextBox3.Value = Range("B" & xC)
TextBox4.Value = Range("C" & xC)
ElseIf xTc > 1 Then
ComboBox1.Visible = True
TextBox2.Visible = False
ComboBox2.Visible = True
TextBox4.Visible = False
Alim_Combo 1, Tit
Alim_Combo 2, Tit
End If
Else
MsgBox "Numéro inexistant", 64, "Recherche"
End If
End Sub
'-------------
Private Sub ComboBox1_Change()
Me.TextBox3 = ""
If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Me.TextBox3 = Range("B" & Me.ComboBox1.List(Me.ComboBox1.ListIndex, 1 ))
End Sub
Private Sub ComboBox2_Change()
Me.TextBox3 = ""
If Me.ComboBox2.ListIndex = -1 Then Exit Sub
Me.TextBox3 = Range("B" & Me.ComboBox1.List(Me.ComboBox1.ListIndex, 1 ))
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub Alim_Combo(CbxIndex As Integer, Optional Titulaire As Variant)
Dim j As Integer
Dim obj As Control
'Définit le ComboBox à remplir
Set obj = Me.Controls("ComboBox" & CbxIndex)
'Supprime les anciennes données
obj.Clear
For Each c In Range([B2], [B65000].End(xlUp))
If c Like Titulaire Then
If CbxIndex = 1 Then
obj.AddItem c.Offset(0, -1)
Else
obj.AddItem c.Offset(0, 1)
End If
obj.List(obj.ListCount - 1, 1) = c.Row
End If
Next c
obj.ListIndex = 0
End Sub
Private Sub UserForm_Initialize()
TextBox1.Visible = True
With ComboBox1
.Visible = False
.ColumnCount = 2
.ColumnWidths = "-1;0"
.ListRows = 0
End With
With ComboBox2
.Visible = False
.ColumnCount = 2
.ColumnWidths = "-1;0"
.ListRows = 0
End With
End Sub
Private Sub BtnRechercher_Click() Dim Vlr As Long, Tit As String Dim Cel As Range, xC As Long, xTc As Long
Vlr = TextBox1.Value
If IsNumeric(Application.Match(Vlr, Range("A2:A" & Range("A" & Rows.Cou nt).End(xlUp).Row), 0)) Then xC = Application.Match(Vlr, Range("A2:A" & Range("A" & Rows.Count ).End(xlUp).Row), 0) + 1 Tit = Range("B" & xC) xTc = Application.CountIf(Range("B2:B" & Range("B" & Rows.Count). End(xlUp).Row), Tit) If xTc = 1 Then 'Si on trouve une seule occurrence 'On remplit le TextBox et on cache le ComboBox ComboBox1.Visible = False TextBox2.Visible = True ComboBox2.Visible = False TextBox4.Visible = True TextBox2.Value = Range("A" & xC) TextBox3.Value = Range("B" & xC) TextBox4.Value = Range("C" & xC) ElseIf xTc > 1 Then ComboBox1.Visible = True TextBox2.Visible = False ComboBox2.Visible = True TextBox4.Visible = False
Alim_Combo 1, Tit Alim_Combo 2, Tit End If Else MsgBox "Numéro inexistant", 64, "Recherche" End If End Sub '-------------
Private Sub ComboBox1_Change() Me.TextBox3 = "" If Me.ComboBox1.ListIndex = -1 Then Exit Sub Me.TextBox3 = Range("B" & Me.ComboBox1.List(Me.ComboBox1.ListIndex, 1 )) End Sub Private Sub ComboBox2_Change() Me.TextBox3 = "" If Me.ComboBox2.ListIndex = -1 Then Exit Sub Me.TextBox3 = Range("B" & Me.ComboBox1.List(Me.ComboBox1.ListIndex, 1 )) End Sub
Private Sub CommandButton2_Click() Unload Me End Sub
Private Sub Alim_Combo(CbxIndex As Integer, Optional Titulaire As Variant) Dim j As Integer Dim obj As Control
'Définit le ComboBox à remplir Set obj = Me.Controls("ComboBox" & CbxIndex) 'Supprime les anciennes données obj.Clear For Each c In Range([B2], [B65000].End(xlUp))
If c Like Titulaire Then If CbxIndex = 1 Then obj.AddItem c.Offset(0, -1) Else obj.AddItem c.Offset(0, 1) End If obj.List(obj.ListCount - 1, 1) = c.Row End If Next c obj.ListIndex = 0 End Sub Private Sub UserForm_Initialize() TextBox1.Visible = True With ComboBox1 .Visible = False .ColumnCount = 2 .ColumnWidths = "-1;0" .ListRows = 0 End With With ComboBox2 .Visible = False .ColumnCount = 2 .ColumnWidths = "-1;0" .ListRows = 0 End With End Sub
'----------------------------
Jacky
Bonjour Apitos,
Je ne saisie pas la finalité de ce que tu cherches à faire.... Une dernière proposition ici http://www.cjoint.com/c/ELiqBpSGCZh
Bonjour Apitos,
Je ne saisie pas la finalité de ce que tu cherches à faire....
Une dernière proposition ici
http://www.cjoint.com/c/ELiqBpSGCZh
Je ne saisie pas la finalité de ce que tu cherches à faire.... Une dernière proposition ici http://www.cjoint.com/c/ELiqBpSGCZh
Apitos
Bonjour Jacky et merci pour l'exemple joint (Il y a de quoi apprendre)
Je ne saisie pas la finalité de ce que tu cherches à faire....
Comme la liste des numéros peut aller jusqu'à 8000 numéros ou plus (N uméros de téléphone), j'avais besoin de rechercher par numéro pour consulter les donnés en relation avec, notamment son titulaire.
Maintenant si on veut vérifier, pour le deuxième cas, ou plusieurs num éros appartiennent à une même personne, on aura besoin d'ajouter a la recherche du numéro une recherche par titulaire d'où la nécessité d'afficher les numéros communs pour une seule personne dans un ComboBox a u lieu d'un TextBox réservé à l'affichage d'un seul numéro.
J'espère avoir bien expliqué ma demande.
Bonjour Jacky et merci pour l'exemple joint (Il y a de quoi apprendre)
Je ne saisie pas la finalité de ce que tu cherches à faire....
Comme la liste des numéros peut aller jusqu'à 8000 numéros ou plus (N uméros de téléphone), j'avais besoin de rechercher par numéro pour consulter les donnés en relation avec, notamment son titulaire.
Maintenant si on veut vérifier, pour le deuxième cas, ou plusieurs num éros appartiennent à une même personne, on aura besoin d'ajouter a la recherche du numéro une recherche par titulaire d'où la nécessité d'afficher les numéros communs pour une seule personne dans un ComboBox a u lieu d'un TextBox réservé à l'affichage d'un seul numéro.
Bonjour Jacky et merci pour l'exemple joint (Il y a de quoi apprendre)
Je ne saisie pas la finalité de ce que tu cherches à faire....
Comme la liste des numéros peut aller jusqu'à 8000 numéros ou plus (N uméros de téléphone), j'avais besoin de rechercher par numéro pour consulter les donnés en relation avec, notamment son titulaire.
Maintenant si on veut vérifier, pour le deuxième cas, ou plusieurs num éros appartiennent à une même personne, on aura besoin d'ajouter a la recherche du numéro une recherche par titulaire d'où la nécessité d'afficher les numéros communs pour une seule personne dans un ComboBox a u lieu d'un TextBox réservé à l'affichage d'un seul numéro.
Puisque les numéros de téléphone sont uniques, je n'ai pas utiliser l e filtre avancé sur les numéros.
Voila ou j'en suis, mais ça n'a pas encore fonctionner :
'------------- Private Sub ComboBox1_Change() Dim a(), b() Application.ScreenUpdating = False ' -- On ne declenche l'évenement Change ' -- que si la longueur du ComboBox à atteint 11 caractères If Me.ComboBox1 = "" Or Len(Me.ComboBox1.Value) < 11 Then Exit Sub
' On travaille sur la feuille Feuil1 With Feuil1 .Activate
'-- On filtre par le numéro de téléphone contenu dans ComboBo x1 .Range("A1").AutoFilter Field:=1, Criteria1:=Me.ComboBox1.Value
'-- Enregistrement du résultat du filtre dans le tableau a a = .Range("a2:c" & .Cells(.Rows.Count, 2).End(xlUp).Row) _ .SpecialCells(xlCellTypeVisible).Value
MsgBox "Titulaire : " & a(1, 2) '-- Vérification de l'existance du même titulaire pour d'autres numéros .Range("A1").AutoFilter Field:=1, Criteria1:=a(1, 2) 'Me.Com boBox1.Value '-- Enregistrement du résultat du filtre dans le tableau b b = .Range("a2:c" & .Cells(.Rows.Count, 2).End(xlUp).Row) _ .SpecialCells(xlCellTypeVisible).Value
'-- Affectation du résultat obtenu dans le ComboBox2 Me.ComboBox2.List = b
'-- Affichage du resulat dans le formulaire Me.Label2.Caption = "Résultat= " & UBound(b) - 1 & IIf(UBound (b) - 1 > 1, " Titulaires trouvés", " Titulaire trouvé")
'-- Si le tutilaire trouvé à plusieurs numéros de télépho ne If UBound(b) - 1 > 1 Then Me.TextBox1 = "" Me.TextBox2 = "" Me.TextBox3 = ""
'-- On affiche le ComboBox2 Me.ComboBox2.Visible = True Else '-- Sinon on remplit les TextBox dans l'ordre On Error Resume Next If Err = 0 Then Me.TextBox1 = [plage].SpecialCells(xlCellTypeVisible)(1) Me.TextBox2 = [plage].SpecialCells(xlCellTypeVisible)(2) Me.TextBox3 = [plage].SpecialCells(xlCellTypeVisible)(3)
'-- Et on masque le ComboBox2 Me.ComboBox2.Visible = False End If On Error GoTo 0 End If End With End Sub Private Sub ComboBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) '-- Procédure pour formater la saisie dans ComboBox1 '-- Sous forme "0# ## ## ##" ComboBox1.MaxLength = 12 Select Case Len(ComboBox1) Case 2, 5, 8 ', 11 ComboBox1 = ComboBox1 & Chr(32) End Select End Sub
'-------------
Bonjour jacky,
J'ai essayé d'adapter le code.
Puisque les numéros de téléphone sont uniques, je n'ai pas utiliser l e filtre avancé sur les numéros.
Voila ou j'en suis, mais ça n'a pas encore fonctionner :
'-------------
Private Sub ComboBox1_Change()
Dim a(), b()
Application.ScreenUpdating = False
' -- On ne declenche l'évenement Change
' -- que si la longueur du ComboBox à atteint 11 caractères
If Me.ComboBox1 = "" Or Len(Me.ComboBox1.Value) < 11 Then Exit Sub
' On travaille sur la feuille Feuil1
With Feuil1
.Activate
'-- On filtre par le numéro de téléphone contenu dans ComboBo x1
.Range("A1").AutoFilter Field:=1, Criteria1:=Me.ComboBox1.Value
'-- Enregistrement du résultat du filtre dans le tableau a
a = .Range("a2:c" & .Cells(.Rows.Count, 2).End(xlUp).Row) _
.SpecialCells(xlCellTypeVisible).Value
MsgBox "Titulaire : " & a(1, 2)
'-- Vérification de l'existance du même titulaire pour d'autres numéros
.Range("A1").AutoFilter Field:=1, Criteria1:=a(1, 2) 'Me.Com boBox1.Value
'-- Enregistrement du résultat du filtre dans le tableau b
b = .Range("a2:c" & .Cells(.Rows.Count, 2).End(xlUp).Row) _
.SpecialCells(xlCellTypeVisible).Value
'-- Affectation du résultat obtenu dans le ComboBox2
Me.ComboBox2.List = b
'-- Affichage du resulat dans le formulaire
Me.Label2.Caption = "Résultat= " & UBound(b) - 1 & IIf(UBound (b) - 1 > 1, " Titulaires trouvés", " Titulaire trouvé")
'-- Si le tutilaire trouvé à plusieurs numéros de télépho ne
If UBound(b) - 1 > 1 Then
Me.TextBox1 = ""
Me.TextBox2 = ""
Me.TextBox3 = ""
'-- On affiche le ComboBox2
Me.ComboBox2.Visible = True
Else
'-- Sinon on remplit les TextBox dans l'ordre
On Error Resume Next
If Err = 0 Then
Me.TextBox1 = [plage].SpecialCells(xlCellTypeVisible)(1)
Me.TextBox2 = [plage].SpecialCells(xlCellTypeVisible)(2)
Me.TextBox3 = [plage].SpecialCells(xlCellTypeVisible)(3)
'-- Et on masque le ComboBox2
Me.ComboBox2.Visible = False
End If
On Error GoTo 0
End If
End With
End Sub
Private Sub ComboBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'-- Procédure pour formater la saisie dans ComboBox1
'-- Sous forme "0# ## ## ##"
ComboBox1.MaxLength = 12
Select Case Len(ComboBox1)
Case 2, 5, 8 ', 11
ComboBox1 = ComboBox1 & Chr(32)
End Select
End Sub
Puisque les numéros de téléphone sont uniques, je n'ai pas utiliser l e filtre avancé sur les numéros.
Voila ou j'en suis, mais ça n'a pas encore fonctionner :
'------------- Private Sub ComboBox1_Change() Dim a(), b() Application.ScreenUpdating = False ' -- On ne declenche l'évenement Change ' -- que si la longueur du ComboBox à atteint 11 caractères If Me.ComboBox1 = "" Or Len(Me.ComboBox1.Value) < 11 Then Exit Sub
' On travaille sur la feuille Feuil1 With Feuil1 .Activate
'-- On filtre par le numéro de téléphone contenu dans ComboBo x1 .Range("A1").AutoFilter Field:=1, Criteria1:=Me.ComboBox1.Value
'-- Enregistrement du résultat du filtre dans le tableau a a = .Range("a2:c" & .Cells(.Rows.Count, 2).End(xlUp).Row) _ .SpecialCells(xlCellTypeVisible).Value
MsgBox "Titulaire : " & a(1, 2) '-- Vérification de l'existance du même titulaire pour d'autres numéros .Range("A1").AutoFilter Field:=1, Criteria1:=a(1, 2) 'Me.Com boBox1.Value '-- Enregistrement du résultat du filtre dans le tableau b b = .Range("a2:c" & .Cells(.Rows.Count, 2).End(xlUp).Row) _ .SpecialCells(xlCellTypeVisible).Value
'-- Affectation du résultat obtenu dans le ComboBox2 Me.ComboBox2.List = b
'-- Affichage du resulat dans le formulaire Me.Label2.Caption = "Résultat= " & UBound(b) - 1 & IIf(UBound (b) - 1 > 1, " Titulaires trouvés", " Titulaire trouvé")
'-- Si le tutilaire trouvé à plusieurs numéros de télépho ne If UBound(b) - 1 > 1 Then Me.TextBox1 = "" Me.TextBox2 = "" Me.TextBox3 = ""
'-- On affiche le ComboBox2 Me.ComboBox2.Visible = True Else '-- Sinon on remplit les TextBox dans l'ordre On Error Resume Next If Err = 0 Then Me.TextBox1 = [plage].SpecialCells(xlCellTypeVisible)(1) Me.TextBox2 = [plage].SpecialCells(xlCellTypeVisible)(2) Me.TextBox3 = [plage].SpecialCells(xlCellTypeVisible)(3)
'-- Et on masque le ComboBox2 Me.ComboBox2.Visible = False End If On Error GoTo 0 End If End With End Sub Private Sub ComboBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) '-- Procédure pour formater la saisie dans ComboBox1 '-- Sous forme "0# ## ## ##" ComboBox1.MaxLength = 12 Select Case Len(ComboBox1) Case 2, 5, 8 ', 11 ComboBox1 = ComboBox1 & Chr(32) End Select End Sub
'-------------
Jacky
Re.. Recherche par numéro OU par nom ;o) http://www.cjoint.com/c/ELmqx7iiwbh
-- Salutations JJ
Apitos a exposé le 12/12/2015 :
'-------------
Re..
Recherche par numéro OU par nom ;o)
http://www.cjoint.com/c/ELmqx7iiwbh