Bonjour,
J'ai dans une colonne A3:A...
Dans chaque cellules, Un nom et un prénom
Le nom est obligatoirement en majuscule, et le prénom en minuscule
ex : DURAND patrick
Je souhaite dans un textbox qui saisi uniquement le nom en majuscule qui si
trouve sur un userform que si je saisi un nom qui existe déjà dans la
matrice A3:A...
un msgbox m'avertit que le nom a déjà été saisi
Merci
Didier
Excuse moi je n'avais pas bien lu ta demande. Alors à priori si j'ai bien compris :
Private Sub TextBox1_Change() For Each c In [A1:A10] ' a adapter If c.Value = "" Then Exit Sub S = Trim(c.Value) Pos = InStr(1, S, " ") NomPropre = Left(S, Pos - 1) If UCase(TextBox1.Value) = NomPropre Then GoTo Avert Pos = "" Next c Exit Sub
Avert: Msg = "CE NOM PROPRE EXISTE DEJA !" & vbCrLf & vbCrLf & _ "La saisie demandée n'est pas possible." Style = vbClose + vbCritical ' Définit les boutons + icône avertissement Title = "SAISIE IMPOSSIBLE ! ! !" ' Définit le titre. ' Affiche le message. Response = MsgBox(Msg, Style, Title) End Sub
Excuse moi je n'avais pas bien lu ta demande.
Alors à priori si j'ai bien compris :
Private Sub TextBox1_Change()
For Each c In [A1:A10] ' a adapter
If c.Value = "" Then Exit Sub
S = Trim(c.Value)
Pos = InStr(1, S, " ")
NomPropre = Left(S, Pos - 1)
If UCase(TextBox1.Value) = NomPropre Then GoTo Avert
Pos = ""
Next c
Exit Sub
Avert:
Msg = "CE NOM PROPRE EXISTE DEJA !" & vbCrLf & vbCrLf & _
"La saisie demandée n'est pas possible."
Style = vbClose + vbCritical ' Définit les boutons + icône avertissement
Title = "SAISIE IMPOSSIBLE ! ! !" ' Définit le titre.
' Affiche le message.
Response = MsgBox(Msg, Style, Title)
End Sub
Je t'ai mis le msgBox "customizé"...
Cordialement.
Excel...lent
N'hésitez pas à visiter ces mines d'or ! ! !
http://www.excelabo.net/
http://xlwiki.free.fr/wiki/wakka.php?wiki=PageAccueil
http://frederic.sigonneau.free.fr/
http://dj.joss.free.fr/
http://www.cathyastuce.com/excel.htm
http://jacxl.free.fr/cours_xl/cadres.html?ex http://www.dualforum.com/
http://www.excel-downloads.com/forum/forum-excel/
Excuse moi je n'avais pas bien lu ta demande. Alors à priori si j'ai bien compris :
Private Sub TextBox1_Change() For Each c In [A1:A10] ' a adapter If c.Value = "" Then Exit Sub S = Trim(c.Value) Pos = InStr(1, S, " ") NomPropre = Left(S, Pos - 1) If UCase(TextBox1.Value) = NomPropre Then GoTo Avert Pos = "" Next c Exit Sub
Avert: Msg = "CE NOM PROPRE EXISTE DEJA !" & vbCrLf & vbCrLf & _ "La saisie demandée n'est pas possible." Style = vbClose + vbCritical ' Définit les boutons + icône avertissement Title = "SAISIE IMPOSSIBLE ! ! !" ' Définit le titre. ' Affiche le message. Response = MsgBox(Msg, Style, Title) End Sub
n = Len(TextBox1) For cpt = 1 To n a = Mid(ActiveCell, cpt, 1) b = Asc(a) If b >= 65 And b <= 90 Then t = t & a Else Exit For End If Next Columns("A:A").Find(What:=t, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=True, SearchFormat:úlse).Activate
Camille
Bonjour et merci Le pb est que je souhaite que cela fonctionne uniquement que sur le nom en majuscule Didier
"Excel...lent" a écrit dans le message de news:
Re,
Désolé encore moi.
Change la ligne de code
If TextBox1.Value = c Then GoTo Avert
Par
If UCase(TextBox1.Value) = c Then GoTo Avert
Ainsi quelque soit les caratères ( Minuscules ou Majuscules ) que tu utiliseras dans ta saisie, le Textbox les passera automatiquement en MAJUSCULES.
n = Len(TextBox1)
For cpt = 1 To n
a = Mid(ActiveCell, cpt, 1)
b = Asc(a)
If b >= 65 And b <= 90 Then
t = t & a
Else
Exit For
End If
Next
Columns("A:A").Find(What:=t, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=True, SearchFormat:úlse).Activate
Camille
Bonjour et merci
Le pb est que je souhaite que cela fonctionne uniquement que sur le nom en
majuscule
Didier
"Excel...lent" <vpco97@orange.fr> a écrit dans le message de news:
OWHjywUSIHA.280@TK2MSFTNGP03.phx.gbl...
Re,
Désolé encore moi.
Change la ligne de code
If TextBox1.Value = c Then GoTo Avert
Par
If UCase(TextBox1.Value) = c Then GoTo Avert
Ainsi quelque soit les caratères ( Minuscules ou Majuscules ) que tu
utiliseras dans ta saisie, le Textbox les passera automatiquement en
MAJUSCULES.
Désolé de " m'étaler " un peu.
Cordialement.
Excel...lent
N'hésitez pas à visiter ces mines d'or ! ! !
http://www.excelabo.net/
http://xlwiki.free.fr/wiki/wakka.php?wiki=PageAccueil
http://frederic.sigonneau.free.fr/
http://dj.joss.free.fr/
http://www.cathyastuce.com/excel.htm
http://jacxl.free.fr/cours_xl/cadres.html?ex > > http://www.dualforum.com/
http://www.excel-downloads.com/forum/forum-excel/
n = Len(TextBox1) For cpt = 1 To n a = Mid(ActiveCell, cpt, 1) b = Asc(a) If b >= 65 And b <= 90 Then t = t & a Else Exit For End If Next Columns("A:A").Find(What:=t, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=True, SearchFormat:úlse).Activate
Camille
Bonjour et merci Le pb est que je souhaite que cela fonctionne uniquement que sur le nom en majuscule Didier
"Excel...lent" a écrit dans le message de news:
Re,
Désolé encore moi.
Change la ligne de code
If TextBox1.Value = c Then GoTo Avert
Par
If UCase(TextBox1.Value) = c Then GoTo Avert
Ainsi quelque soit les caratères ( Minuscules ou Majuscules ) que tu utiliseras dans ta saisie, le Textbox les passera automatiquement en MAJUSCULES.
Merci beaucoup C'est exactement cela Bonne soirée Didier
"Excel...lent" a écrit dans le message de news:
Salut Didier,
Excuse moi je n'avais pas bien lu ta demande. Alors à priori si j'ai bien compris :
Private Sub TextBox1_Change() For Each c In [A1:A10] ' a adapter If c.Value = "" Then Exit Sub S = Trim(c.Value) Pos = InStr(1, S, " ") NomPropre = Left(S, Pos - 1) If UCase(TextBox1.Value) = NomPropre Then GoTo Avert Pos = "" Next c Exit Sub
Avert: Msg = "CE NOM PROPRE EXISTE DEJA !" & vbCrLf & vbCrLf & _ "La saisie demandée n'est pas possible." Style = vbClose + vbCritical ' Définit les boutons + icône avertissement Title = "SAISIE IMPOSSIBLE ! ! !" ' Définit le titre. ' Affiche le message. Response = MsgBox(Msg, Style, Title) End Sub
Merci beaucoup
C'est exactement cela
Bonne soirée
Didier
"Excel...lent" <vpco97@orange.fr> a écrit dans le message de news:
OMaFtEWSIHA.5160@TK2MSFTNGP05.phx.gbl...
Salut Didier,
Excuse moi je n'avais pas bien lu ta demande.
Alors à priori si j'ai bien compris :
Private Sub TextBox1_Change()
For Each c In [A1:A10] ' a adapter
If c.Value = "" Then Exit Sub
S = Trim(c.Value)
Pos = InStr(1, S, " ")
NomPropre = Left(S, Pos - 1)
If UCase(TextBox1.Value) = NomPropre Then GoTo Avert
Pos = ""
Next c
Exit Sub
Avert:
Msg = "CE NOM PROPRE EXISTE DEJA !" & vbCrLf & vbCrLf & _
"La saisie demandée n'est pas possible."
Style = vbClose + vbCritical ' Définit les boutons + icône avertissement
Title = "SAISIE IMPOSSIBLE ! ! !" ' Définit le titre.
' Affiche le message.
Response = MsgBox(Msg, Style, Title)
End Sub
Je t'ai mis le msgBox "customizé"...
Cordialement.
Excel...lent
N'hésitez pas à visiter ces mines d'or ! ! !
http://www.excelabo.net/
http://xlwiki.free.fr/wiki/wakka.php?wiki=PageAccueil
http://frederic.sigonneau.free.fr/
http://dj.joss.free.fr/
http://www.cathyastuce.com/excel.htm
http://jacxl.free.fr/cours_xl/cadres.html?ex > http://www.dualforum.com/
http://www.excel-downloads.com/forum/forum-excel/
Merci beaucoup C'est exactement cela Bonne soirée Didier
"Excel...lent" a écrit dans le message de news:
Salut Didier,
Excuse moi je n'avais pas bien lu ta demande. Alors à priori si j'ai bien compris :
Private Sub TextBox1_Change() For Each c In [A1:A10] ' a adapter If c.Value = "" Then Exit Sub S = Trim(c.Value) Pos = InStr(1, S, " ") NomPropre = Left(S, Pos - 1) If UCase(TextBox1.Value) = NomPropre Then GoTo Avert Pos = "" Next c Exit Sub
Avert: Msg = "CE NOM PROPRE EXISTE DEJA !" & vbCrLf & vbCrLf & _ "La saisie demandée n'est pas possible." Style = vbClose + vbCritical ' Définit les boutons + icône avertissement Title = "SAISIE IMPOSSIBLE ! ! !" ' Définit le titre. ' Affiche le message. Response = MsgBox(Msg, Style, Title) End Sub
Merci également, Je la garde bien au chaud... Bonne soirée Didier
"Ellimac" a écrit dans le message de news:
Bonjour,
Peut-être quelque chose du genre :
n = Len(TextBox1) For cpt = 1 To n a = Mid(ActiveCell, cpt, 1) b = Asc(a) If b >= 65 And b <= 90 Then t = t & a Else Exit For End If Next Columns("A:A").Find(What:=t, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=True, SearchFormat:úlse).Activate
Camille
Bonjour et merci Le pb est que je souhaite que cela fonctionne uniquement que sur le nom en majuscule Didier
"Excel...lent" a écrit dans le message de news:
Re,
Désolé encore moi.
Change la ligne de code
If TextBox1.Value = c Then GoTo Avert
Par
If UCase(TextBox1.Value) = c Then GoTo Avert
Ainsi quelque soit les caratères ( Minuscules ou Majuscules ) que tu utiliseras dans ta saisie, le Textbox les passera automatiquement en MAJUSCULES.
Merci également,
Je la garde bien au chaud...
Bonne soirée
Didier
"Ellimac" <Ellimac@discussions.microsoft.com> a écrit dans le message de
news: 9DB31F6F-2F89-4B99-95C0-007FD0510C3A@microsoft.com...
Bonjour,
Peut-être quelque chose du genre :
n = Len(TextBox1)
For cpt = 1 To n
a = Mid(ActiveCell, cpt, 1)
b = Asc(a)
If b >= 65 And b <= 90 Then
t = t & a
Else
Exit For
End If
Next
Columns("A:A").Find(What:=t, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=True, SearchFormat:úlse).Activate
Camille
Bonjour et merci
Le pb est que je souhaite que cela fonctionne uniquement que sur le nom
en
majuscule
Didier
"Excel...lent" <vpco97@orange.fr> a écrit dans le message de news:
OWHjywUSIHA.280@TK2MSFTNGP03.phx.gbl...
Re,
Désolé encore moi.
Change la ligne de code
If TextBox1.Value = c Then GoTo Avert
Par
If UCase(TextBox1.Value) = c Then GoTo Avert
Ainsi quelque soit les caratères ( Minuscules ou Majuscules ) que tu
utiliseras dans ta saisie, le Textbox les passera automatiquement en
MAJUSCULES.
Désolé de " m'étaler " un peu.
Cordialement.
Excel...lent
N'hésitez pas à visiter ces mines d'or ! ! !
http://www.excelabo.net/
http://xlwiki.free.fr/wiki/wakka.php?wiki=PageAccueil
http://frederic.sigonneau.free.fr/
http://dj.joss.free.fr/
http://www.cathyastuce.com/excel.htm
http://jacxl.free.fr/cours_xl/cadres.html?ex >> > http://www.dualforum.com/
http://www.excel-downloads.com/forum/forum-excel/
Merci également, Je la garde bien au chaud... Bonne soirée Didier
"Ellimac" a écrit dans le message de news:
Bonjour,
Peut-être quelque chose du genre :
n = Len(TextBox1) For cpt = 1 To n a = Mid(ActiveCell, cpt, 1) b = Asc(a) If b >= 65 And b <= 90 Then t = t & a Else Exit For End If Next Columns("A:A").Find(What:=t, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=True, SearchFormat:úlse).Activate
Camille
Bonjour et merci Le pb est que je souhaite que cela fonctionne uniquement que sur le nom en majuscule Didier
"Excel...lent" a écrit dans le message de news:
Re,
Désolé encore moi.
Change la ligne de code
If TextBox1.Value = c Then GoTo Avert
Par
If UCase(TextBox1.Value) = c Then GoTo Avert
Ainsi quelque soit les caratères ( Minuscules ou Majuscules ) que tu utiliseras dans ta saisie, le Textbox les passera automatiquement en MAJUSCULES.