Bonsoir
J'ai une procédure qui fonctionne normalement mais avec 2 caractères
Je saisi dans Textbox6 les numéros, et j'ai dans Textbox7 le département
cela fonctionne très bien avec 2 numéros ex : 15 = Cantal, mais avec 3
caractères ex : 974 La Réunion, cela ne fonctionne pas.
Ma procédure de départ :
Private Sub TextBox6_Change()
On Error Resume Next
varNum = TextBox6.Value
TextBox7 = ""
TextBox7.Value = Range("Les_départements").Item(Application.Match(varNum,
Range("Les_numéros_départements"), 0))
End Sub
Corrigé par M.Gaboly, qui ne fonctionne pas du tout chez moi :
>avec les départements dans une colonne (plage nommée "NumDép") et les
>noms dans la colonne immédiatement à droite, la cellule précédant le
>premier nom étant nommée "RéfNoms". (par exemple numéros de A2 à A100,
>correspondant au nom "NumDép", les noms de B2 à B100 et la cellule B1
>nommée "RéfNoms".
>NB1 - Dans le UserForm, j'ai remplacé TextBox6 par TNum et TextBox7 par
>TNom, c'est + parlant.
>Private Sub TNum_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
> On Error Resume Next
> TNom = Range("RéfNoms").Offset(Application.Match(Val(TNum),
>Range("NumDép"), 0)) ' Sur la même ligne que TNom = ...
>End Sub
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
michdenis
Bonjour Florian,
essaie ceci :
'-------------------- Private Sub TextBox6_Change() dim a as long On Error Resume Next a = Range("Les_départements").Row + Range("Les_départements").Rows.Count - 1 if isnumeric(TextBox6.Value) then varNum = clng(TextBox6.Value) if varnum>=1 and varnum<e536-a then TextBox7.Value = Range("Les_départements").Item(Application.Match(varNum, Range("Les_numéros_départements"), 0)) Else Msgbox "hors limite" end if else Msgbox "la donnée dans textbox6 est erronnée." end if End Sub '--------------------
Salutations!
"Florian" a écrit dans le message de news: Bonsoir J'ai une procédure qui fonctionne normalement mais avec 2 caractères Je saisi dans Textbox6 les numéros, et j'ai dans Textbox7 le département cela fonctionne très bien avec 2 numéros ex : 15 = Cantal, mais avec 3 caractères ex : 974 La Réunion, cela ne fonctionne pas. Ma procédure de départ :
Private Sub TextBox6_Change() On Error Resume Next varNum = TextBox6.Value TextBox7 = "" TextBox7.Value = Range("Les_départements").Item(Application.Match(varNum, Range("Les_numéros_départements"), 0)) End Sub
Corrigé par M.Gaboly, qui ne fonctionne pas du tout chez moi :
avec les départements dans une colonne (plage nommée "NumDép") et les noms dans la colonne immédiatement à droite, la cellule précédant le premier nom étant nommée "RéfNoms". (par exemple numéros de A2 à A100, correspondant au nom "NumDép", les noms de B2 à B100 et la cellule B1 nommée "RéfNoms".
NB1 - Dans le UserForm, j'ai remplacé TextBox6 par TNum et TextBox7 par TNom, c'est + parlant.
Private Sub TNum_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) On Error Resume Next TNom = Range("RéfNoms").Offset(Application.Match(Val(TNum), Range("NumDép"), 0)) ' Sur la même ligne que TNom = ... End Sub
Merci beaucoup Flo riant
Bonjour Florian,
essaie ceci :
'--------------------
Private Sub TextBox6_Change()
dim a as long
On Error Resume Next
a = Range("Les_départements").Row + Range("Les_départements").Rows.Count - 1
if isnumeric(TextBox6.Value) then
varNum = clng(TextBox6.Value)
if varnum>=1 and varnum<e536-a then
TextBox7.Value = Range("Les_départements").Item(Application.Match(varNum,
Range("Les_numéros_départements"), 0))
Else
Msgbox "hors limite"
end if
else
Msgbox "la donnée dans textbox6 est erronnée."
end if
End Sub
'--------------------
Salutations!
"Florian" <florian@toto.fr> a écrit dans le message de news: u6rrUjiuFHA.1256@TK2MSFTNGP10.phx.gbl...
Bonsoir
J'ai une procédure qui fonctionne normalement mais avec 2 caractères
Je saisi dans Textbox6 les numéros, et j'ai dans Textbox7 le département
cela fonctionne très bien avec 2 numéros ex : 15 = Cantal, mais avec 3
caractères ex : 974 La Réunion, cela ne fonctionne pas.
Ma procédure de départ :
Private Sub TextBox6_Change()
On Error Resume Next
varNum = TextBox6.Value
TextBox7 = ""
TextBox7.Value = Range("Les_départements").Item(Application.Match(varNum,
Range("Les_numéros_départements"), 0))
End Sub
Corrigé par M.Gaboly, qui ne fonctionne pas du tout chez moi :
avec les départements dans une colonne (plage nommée "NumDép") et les
noms dans la colonne immédiatement à droite, la cellule précédant le
premier nom étant nommée "RéfNoms". (par exemple numéros de A2 à A100,
correspondant au nom "NumDép", les noms de B2 à B100 et la cellule B1
nommée "RéfNoms".
NB1 - Dans le UserForm, j'ai remplacé TextBox6 par TNum et TextBox7 par
TNom, c'est + parlant.
Private Sub TNum_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
On Error Resume Next
TNom = Range("RéfNoms").Offset(Application.Match(Val(TNum),
Range("NumDép"), 0)) ' Sur la même ligne que TNom = ...
End Sub
'-------------------- Private Sub TextBox6_Change() dim a as long On Error Resume Next a = Range("Les_départements").Row + Range("Les_départements").Rows.Count - 1 if isnumeric(TextBox6.Value) then varNum = clng(TextBox6.Value) if varnum>=1 and varnum<e536-a then TextBox7.Value = Range("Les_départements").Item(Application.Match(varNum, Range("Les_numéros_départements"), 0)) Else Msgbox "hors limite" end if else Msgbox "la donnée dans textbox6 est erronnée." end if End Sub '--------------------
Salutations!
"Florian" a écrit dans le message de news: Bonsoir J'ai une procédure qui fonctionne normalement mais avec 2 caractères Je saisi dans Textbox6 les numéros, et j'ai dans Textbox7 le département cela fonctionne très bien avec 2 numéros ex : 15 = Cantal, mais avec 3 caractères ex : 974 La Réunion, cela ne fonctionne pas. Ma procédure de départ :
Private Sub TextBox6_Change() On Error Resume Next varNum = TextBox6.Value TextBox7 = "" TextBox7.Value = Range("Les_départements").Item(Application.Match(varNum, Range("Les_numéros_départements"), 0)) End Sub
Corrigé par M.Gaboly, qui ne fonctionne pas du tout chez moi :
avec les départements dans une colonne (plage nommée "NumDép") et les noms dans la colonne immédiatement à droite, la cellule précédant le premier nom étant nommée "RéfNoms". (par exemple numéros de A2 à A100, correspondant au nom "NumDép", les noms de B2 à B100 et la cellule B1 nommée "RéfNoms".
NB1 - Dans le UserForm, j'ai remplacé TextBox6 par TNum et TextBox7 par TNom, c'est + parlant.
Private Sub TNum_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) On Error Resume Next TNom = Range("RéfNoms").Offset(Application.Match(Val(TNum), Range("NumDép"), 0)) ' Sur la même ligne que TNom = ... End Sub
Merci beaucoup Flo riant
Florian
Re Denis Lorsque je saisi 3 caractères cela fonctionne, mais lorsque je saisi 05, le msgbox se lance dès le 0 Flo riant
"michdenis" a écrit dans le message de news:
Bonjour Florian,
essaie ceci :
'-------------------- Private Sub TextBox6_Change() dim a as long On Error Resume Next a = Range("Les_départements").Row + Range("Les_départements").Rows.Count - 1 if isnumeric(TextBox6.Value) then varNum = clng(TextBox6.Value) if varnum>=1 and varnum<e536-a then TextBox7.Value = Range("Les_départements").Item(Application.Match(varNum, Range("Les_numéros_départements"), 0)) Else Msgbox "hors limite" end if else Msgbox "la donnée dans textbox6 est erronnée." end if End Sub '--------------------
Salutations!
"Florian" a écrit dans le message de news:
Bonsoir J'ai une procédure qui fonctionne normalement mais avec 2 caractères Je saisi dans Textbox6 les numéros, et j'ai dans Textbox7 le département cela fonctionne très bien avec 2 numéros ex : 15 = Cantal, mais avec 3 caractères ex : 974 La Réunion, cela ne fonctionne pas. Ma procédure de départ :
Private Sub TextBox6_Change() On Error Resume Next varNum = TextBox6.Value TextBox7 = "" TextBox7.Value = Range("Les_départements").Item(Application.Match(varNum, Range("Les_numéros_départements"), 0)) End Sub
Corrigé par M.Gaboly, qui ne fonctionne pas du tout chez moi :
avec les départements dans une colonne (plage nommée "NumDép") et les noms dans la colonne immédiatement à droite, la cellule précédant le premier nom étant nommée "RéfNoms". (par exemple numéros de A2 à A100, correspondant au nom "NumDép", les noms de B2 à B100 et la cellule B1 nommée "RéfNoms".
NB1 - Dans le UserForm, j'ai remplacé TextBox6 par TNum et TextBox7 par TNom, c'est + parlant.
Private Sub TNum_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) On Error Resume Next TNom = Range("RéfNoms").Offset(Application.Match(Val(TNum), Range("NumDép"), 0)) ' Sur la même ligne que TNom = ... End Sub
Merci beaucoup Flo riant
Re Denis
Lorsque je saisi 3 caractères cela fonctionne, mais lorsque je saisi 05, le
msgbox se lance dès le 0
Flo riant
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
emUtAxiuFHA.1032@TK2MSFTNGP12.phx.gbl...
Bonjour Florian,
essaie ceci :
'--------------------
Private Sub TextBox6_Change()
dim a as long
On Error Resume Next
a = Range("Les_départements").Row + Range("Les_départements").Rows.Count -
1
if isnumeric(TextBox6.Value) then
varNum = clng(TextBox6.Value)
if varnum>=1 and varnum<e536-a then
TextBox7.Value =
Range("Les_départements").Item(Application.Match(varNum,
Range("Les_numéros_départements"), 0))
Else
Msgbox "hors limite"
end if
else
Msgbox "la donnée dans textbox6 est erronnée."
end if
End Sub
'--------------------
Salutations!
"Florian" <florian@toto.fr> a écrit dans le message de news:
u6rrUjiuFHA.1256@TK2MSFTNGP10.phx.gbl...
Bonsoir
J'ai une procédure qui fonctionne normalement mais avec 2 caractères
Je saisi dans Textbox6 les numéros, et j'ai dans Textbox7 le département
cela fonctionne très bien avec 2 numéros ex : 15 = Cantal, mais avec 3
caractères ex : 974 La Réunion, cela ne fonctionne pas.
Ma procédure de départ :
Private Sub TextBox6_Change()
On Error Resume Next
varNum = TextBox6.Value
TextBox7 = ""
TextBox7.Value = Range("Les_départements").Item(Application.Match(varNum,
Range("Les_numéros_départements"), 0))
End Sub
Corrigé par M.Gaboly, qui ne fonctionne pas du tout chez moi :
avec les départements dans une colonne (plage nommée "NumDép") et les
noms dans la colonne immédiatement à droite, la cellule précédant le
premier nom étant nommée "RéfNoms". (par exemple numéros de A2 à A100,
correspondant au nom "NumDép", les noms de B2 à B100 et la cellule B1
nommée "RéfNoms".
NB1 - Dans le UserForm, j'ai remplacé TextBox6 par TNum et TextBox7 par
TNom, c'est + parlant.
Private Sub TNum_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
On Error Resume Next
TNom = Range("RéfNoms").Offset(Application.Match(Val(TNum),
Range("NumDép"), 0)) ' Sur la même ligne que TNom = ...
End Sub
Re Denis Lorsque je saisi 3 caractères cela fonctionne, mais lorsque je saisi 05, le msgbox se lance dès le 0 Flo riant
"michdenis" a écrit dans le message de news:
Bonjour Florian,
essaie ceci :
'-------------------- Private Sub TextBox6_Change() dim a as long On Error Resume Next a = Range("Les_départements").Row + Range("Les_départements").Rows.Count - 1 if isnumeric(TextBox6.Value) then varNum = clng(TextBox6.Value) if varnum>=1 and varnum<e536-a then TextBox7.Value = Range("Les_départements").Item(Application.Match(varNum, Range("Les_numéros_départements"), 0)) Else Msgbox "hors limite" end if else Msgbox "la donnée dans textbox6 est erronnée." end if End Sub '--------------------
Salutations!
"Florian" a écrit dans le message de news:
Bonsoir J'ai une procédure qui fonctionne normalement mais avec 2 caractères Je saisi dans Textbox6 les numéros, et j'ai dans Textbox7 le département cela fonctionne très bien avec 2 numéros ex : 15 = Cantal, mais avec 3 caractères ex : 974 La Réunion, cela ne fonctionne pas. Ma procédure de départ :
Private Sub TextBox6_Change() On Error Resume Next varNum = TextBox6.Value TextBox7 = "" TextBox7.Value = Range("Les_départements").Item(Application.Match(varNum, Range("Les_numéros_départements"), 0)) End Sub
Corrigé par M.Gaboly, qui ne fonctionne pas du tout chez moi :
avec les départements dans une colonne (plage nommée "NumDép") et les noms dans la colonne immédiatement à droite, la cellule précédant le premier nom étant nommée "RéfNoms". (par exemple numéros de A2 à A100, correspondant au nom "NumDép", les noms de B2 à B100 et la cellule B1 nommée "RéfNoms".
NB1 - Dans le UserForm, j'ai remplacé TextBox6 par TNum et TextBox7 par TNom, c'est + parlant.
Private Sub TNum_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) On Error Resume Next TNom = Range("RéfNoms").Offset(Application.Match(Val(TNum), Range("NumDép"), 0)) ' Sur la même ligne que TNom = ... End Sub
Merci beaucoup Flo riant
michdenis
Choisis un autre événement que celui-là . Private Sub TextBox6_Change pour lancer ta procédure .
Il n'est pas interdit d'avoir un bouton de commande pour actionner le tout au moment opportun.
Salutations!
"Florian" a écrit dans le message de news: Re Denis Lorsque je saisi 3 caractères cela fonctionne, mais lorsque je saisi 05, le msgbox se lance dès le 0 Flo riant
"michdenis" a écrit dans le message de news:
Bonjour Florian,
essaie ceci :
'-------------------- Private Sub TextBox6_Change() dim a as long On Error Resume Next a = Range("Les_départements").Row + Range("Les_départements").Rows.Count - 1 if isnumeric(TextBox6.Value) then varNum = clng(TextBox6.Value) if varnum>=1 and varnum<e536-a then TextBox7.Value > Range("Les_départements").Item(Application.Match(varNum, Range("Les_numéros_départements"), 0)) Else Msgbox "hors limite" end if else Msgbox "la donnée dans textbox6 est erronnée." end if End Sub '--------------------
Salutations!
"Florian" a écrit dans le message de news:
Bonsoir J'ai une procédure qui fonctionne normalement mais avec 2 caractères Je saisi dans Textbox6 les numéros, et j'ai dans Textbox7 le département cela fonctionne très bien avec 2 numéros ex : 15 = Cantal, mais avec 3 caractères ex : 974 La Réunion, cela ne fonctionne pas. Ma procédure de départ :
Private Sub TextBox6_Change() On Error Resume Next varNum = TextBox6.Value TextBox7 = "" TextBox7.Value = Range("Les_départements").Item(Application.Match(varNum, Range("Les_numéros_départements"), 0)) End Sub
Corrigé par M.Gaboly, qui ne fonctionne pas du tout chez moi :
avec les départements dans une colonne (plage nommée "NumDép") et les noms dans la colonne immédiatement à droite, la cellule précédant le premier nom étant nommée "RéfNoms". (par exemple numéros de A2 à A100, correspondant au nom "NumDép", les noms de B2 à B100 et la cellule B1 nommée "RéfNoms".
NB1 - Dans le UserForm, j'ai remplacé TextBox6 par TNum et TextBox7 par TNom, c'est + parlant.
Private Sub TNum_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) On Error Resume Next TNom = Range("RéfNoms").Offset(Application.Match(Val(TNum), Range("NumDép"), 0)) ' Sur la même ligne que TNom = ... End Sub
Merci beaucoup Flo riant
Choisis un autre événement que celui-là .
Private Sub TextBox6_Change pour lancer ta procédure .
Il n'est pas interdit d'avoir un bouton de commande pour actionner le tout au moment opportun.
Salutations!
"Florian" <florian@toto.fr> a écrit dans le message de news: OuwiN5iuFHA.2948@TK2MSFTNGP15.phx.gbl...
Re Denis
Lorsque je saisi 3 caractères cela fonctionne, mais lorsque je saisi 05, le
msgbox se lance dès le 0
Flo riant
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
emUtAxiuFHA.1032@TK2MSFTNGP12.phx.gbl...
Bonjour Florian,
essaie ceci :
'--------------------
Private Sub TextBox6_Change()
dim a as long
On Error Resume Next
a = Range("Les_départements").Row + Range("Les_départements").Rows.Count -
1
if isnumeric(TextBox6.Value) then
varNum = clng(TextBox6.Value)
if varnum>=1 and varnum<e536-a then
TextBox7.Value > Range("Les_départements").Item(Application.Match(varNum,
Range("Les_numéros_départements"), 0))
Else
Msgbox "hors limite"
end if
else
Msgbox "la donnée dans textbox6 est erronnée."
end if
End Sub
'--------------------
Salutations!
"Florian" <florian@toto.fr> a écrit dans le message de news:
u6rrUjiuFHA.1256@TK2MSFTNGP10.phx.gbl...
Bonsoir
J'ai une procédure qui fonctionne normalement mais avec 2 caractères
Je saisi dans Textbox6 les numéros, et j'ai dans Textbox7 le département
cela fonctionne très bien avec 2 numéros ex : 15 = Cantal, mais avec 3
caractères ex : 974 La Réunion, cela ne fonctionne pas.
Ma procédure de départ :
Private Sub TextBox6_Change()
On Error Resume Next
varNum = TextBox6.Value
TextBox7 = ""
TextBox7.Value = Range("Les_départements").Item(Application.Match(varNum,
Range("Les_numéros_départements"), 0))
End Sub
Corrigé par M.Gaboly, qui ne fonctionne pas du tout chez moi :
avec les départements dans une colonne (plage nommée "NumDép") et les
noms dans la colonne immédiatement à droite, la cellule précédant le
premier nom étant nommée "RéfNoms". (par exemple numéros de A2 à A100,
correspondant au nom "NumDép", les noms de B2 à B100 et la cellule B1
nommée "RéfNoms".
NB1 - Dans le UserForm, j'ai remplacé TextBox6 par TNum et TextBox7 par
TNom, c'est + parlant.
Private Sub TNum_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
On Error Resume Next
TNom = Range("RéfNoms").Offset(Application.Match(Val(TNum),
Range("NumDép"), 0)) ' Sur la même ligne que TNom = ...
End Sub
Choisis un autre événement que celui-là . Private Sub TextBox6_Change pour lancer ta procédure .
Il n'est pas interdit d'avoir un bouton de commande pour actionner le tout au moment opportun.
Salutations!
"Florian" a écrit dans le message de news: Re Denis Lorsque je saisi 3 caractères cela fonctionne, mais lorsque je saisi 05, le msgbox se lance dès le 0 Flo riant
"michdenis" a écrit dans le message de news:
Bonjour Florian,
essaie ceci :
'-------------------- Private Sub TextBox6_Change() dim a as long On Error Resume Next a = Range("Les_départements").Row + Range("Les_départements").Rows.Count - 1 if isnumeric(TextBox6.Value) then varNum = clng(TextBox6.Value) if varnum>=1 and varnum<e536-a then TextBox7.Value > Range("Les_départements").Item(Application.Match(varNum, Range("Les_numéros_départements"), 0)) Else Msgbox "hors limite" end if else Msgbox "la donnée dans textbox6 est erronnée." end if End Sub '--------------------
Salutations!
"Florian" a écrit dans le message de news:
Bonsoir J'ai une procédure qui fonctionne normalement mais avec 2 caractères Je saisi dans Textbox6 les numéros, et j'ai dans Textbox7 le département cela fonctionne très bien avec 2 numéros ex : 15 = Cantal, mais avec 3 caractères ex : 974 La Réunion, cela ne fonctionne pas. Ma procédure de départ :
Private Sub TextBox6_Change() On Error Resume Next varNum = TextBox6.Value TextBox7 = "" TextBox7.Value = Range("Les_départements").Item(Application.Match(varNum, Range("Les_numéros_départements"), 0)) End Sub
Corrigé par M.Gaboly, qui ne fonctionne pas du tout chez moi :
avec les départements dans une colonne (plage nommée "NumDép") et les noms dans la colonne immédiatement à droite, la cellule précédant le premier nom étant nommée "RéfNoms". (par exemple numéros de A2 à A100, correspondant au nom "NumDép", les noms de B2 à B100 et la cellule B1 nommée "RéfNoms".
NB1 - Dans le UserForm, j'ai remplacé TextBox6 par TNum et TextBox7 par TNom, c'est + parlant.
Private Sub TNum_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) On Error Resume Next TNom = Range("RéfNoms").Offset(Application.Match(Val(TNum), Range("NumDép"), 0)) ' Sur la même ligne que TNom = ... End Sub
Merci beaucoup Flo riant
Florian
Oui, je vais opter pour le bouton Je te remercie Flo riant
"michdenis" a écrit dans le message de news: %23bqkU$
Choisis un autre événement que celui-là . Private Sub TextBox6_Change pour lancer ta procédure .
Il n'est pas interdit d'avoir un bouton de commande pour actionner le tout au moment opportun.
Salutations!
"Florian" a écrit dans le message de news:
Re Denis Lorsque je saisi 3 caractères cela fonctionne, mais lorsque je saisi 05, le msgbox se lance dès le 0 Flo riant
"michdenis" a écrit dans le message de news:
Bonjour Florian,
essaie ceci :
'-------------------- Private Sub TextBox6_Change() dim a as long On Error Resume Next a = Range("Les_départements").Row + Range("Les_départements").Rows.Count - 1 if isnumeric(TextBox6.Value) then varNum = clng(TextBox6.Value) if varnum>=1 and varnum<e536-a then TextBox7.Value >> Range("Les_départements").Item(Application.Match(varNum, Range("Les_numéros_départements"), 0)) Else Msgbox "hors limite" end if else Msgbox "la donnée dans textbox6 est erronnée." end if End Sub '--------------------
Salutations!
"Florian" a écrit dans le message de news:
Bonsoir J'ai une procédure qui fonctionne normalement mais avec 2 caractères Je saisi dans Textbox6 les numéros, et j'ai dans Textbox7 le département cela fonctionne très bien avec 2 numéros ex : 15 = Cantal, mais avec 3 caractères ex : 974 La Réunion, cela ne fonctionne pas. Ma procédure de départ :
Private Sub TextBox6_Change() On Error Resume Next varNum = TextBox6.Value TextBox7 = "" TextBox7.Value = Range("Les_départements").Item(Application.Match(varNum, Range("Les_numéros_départements"), 0)) End Sub
Corrigé par M.Gaboly, qui ne fonctionne pas du tout chez moi :
avec les départements dans une colonne (plage nommée "NumDép") et les noms dans la colonne immédiatement à droite, la cellule précédant le premier nom étant nommée "RéfNoms". (par exemple numéros de A2 à A100, correspondant au nom "NumDép", les noms de B2 à B100 et la cellule B1 nommée "RéfNoms".
NB1 - Dans le UserForm, j'ai remplacé TextBox6 par TNum et TextBox7 par TNom, c'est + parlant.
Private Sub TNum_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) On Error Resume Next TNom = Range("RéfNoms").Offset(Application.Match(Val(TNum), Range("NumDép"), 0)) ' Sur la même ligne que TNom = ... End Sub
Merci beaucoup Flo riant
Oui, je vais opter pour le bouton
Je te remercie
Flo riant
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23bqkU$iuFHA.664@tk2msftngp13.phx.gbl...
Choisis un autre événement que celui-là .
Private Sub TextBox6_Change pour lancer ta procédure .
Il n'est pas interdit d'avoir un bouton de commande pour actionner le tout
au moment opportun.
Salutations!
"Florian" <florian@toto.fr> a écrit dans le message de news:
OuwiN5iuFHA.2948@TK2MSFTNGP15.phx.gbl...
Re Denis
Lorsque je saisi 3 caractères cela fonctionne, mais lorsque je saisi 05,
le
msgbox se lance dès le 0
Flo riant
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
emUtAxiuFHA.1032@TK2MSFTNGP12.phx.gbl...
Bonjour Florian,
essaie ceci :
'--------------------
Private Sub TextBox6_Change()
dim a as long
On Error Resume Next
a = Range("Les_départements").Row +
Range("Les_départements").Rows.Count -
1
if isnumeric(TextBox6.Value) then
varNum = clng(TextBox6.Value)
if varnum>=1 and varnum<e536-a then
TextBox7.Value >> Range("Les_départements").Item(Application.Match(varNum,
Range("Les_numéros_départements"), 0))
Else
Msgbox "hors limite"
end if
else
Msgbox "la donnée dans textbox6 est erronnée."
end if
End Sub
'--------------------
Salutations!
"Florian" <florian@toto.fr> a écrit dans le message de news:
u6rrUjiuFHA.1256@TK2MSFTNGP10.phx.gbl...
Bonsoir
J'ai une procédure qui fonctionne normalement mais avec 2 caractères
Je saisi dans Textbox6 les numéros, et j'ai dans Textbox7 le département
cela fonctionne très bien avec 2 numéros ex : 15 = Cantal, mais avec 3
caractères ex : 974 La Réunion, cela ne fonctionne pas.
Ma procédure de départ :
Private Sub TextBox6_Change()
On Error Resume Next
varNum = TextBox6.Value
TextBox7 = ""
TextBox7.Value = Range("Les_départements").Item(Application.Match(varNum,
Range("Les_numéros_départements"), 0))
End Sub
Corrigé par M.Gaboly, qui ne fonctionne pas du tout chez moi :
avec les départements dans une colonne (plage nommée "NumDép") et les
noms dans la colonne immédiatement à droite, la cellule précédant le
premier nom étant nommée "RéfNoms". (par exemple numéros de A2 à A100,
correspondant au nom "NumDép", les noms de B2 à B100 et la cellule B1
nommée "RéfNoms".
NB1 - Dans le UserForm, j'ai remplacé TextBox6 par TNum et TextBox7 par
TNom, c'est + parlant.
Private Sub TNum_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
On Error Resume Next
TNom = Range("RéfNoms").Offset(Application.Match(Val(TNum),
Range("NumDép"), 0)) ' Sur la même ligne que TNom = ...
End Sub
Oui, je vais opter pour le bouton Je te remercie Flo riant
"michdenis" a écrit dans le message de news: %23bqkU$
Choisis un autre événement que celui-là . Private Sub TextBox6_Change pour lancer ta procédure .
Il n'est pas interdit d'avoir un bouton de commande pour actionner le tout au moment opportun.
Salutations!
"Florian" a écrit dans le message de news:
Re Denis Lorsque je saisi 3 caractères cela fonctionne, mais lorsque je saisi 05, le msgbox se lance dès le 0 Flo riant
"michdenis" a écrit dans le message de news:
Bonjour Florian,
essaie ceci :
'-------------------- Private Sub TextBox6_Change() dim a as long On Error Resume Next a = Range("Les_départements").Row + Range("Les_départements").Rows.Count - 1 if isnumeric(TextBox6.Value) then varNum = clng(TextBox6.Value) if varnum>=1 and varnum<e536-a then TextBox7.Value >> Range("Les_départements").Item(Application.Match(varNum, Range("Les_numéros_départements"), 0)) Else Msgbox "hors limite" end if else Msgbox "la donnée dans textbox6 est erronnée." end if End Sub '--------------------
Salutations!
"Florian" a écrit dans le message de news:
Bonsoir J'ai une procédure qui fonctionne normalement mais avec 2 caractères Je saisi dans Textbox6 les numéros, et j'ai dans Textbox7 le département cela fonctionne très bien avec 2 numéros ex : 15 = Cantal, mais avec 3 caractères ex : 974 La Réunion, cela ne fonctionne pas. Ma procédure de départ :
Private Sub TextBox6_Change() On Error Resume Next varNum = TextBox6.Value TextBox7 = "" TextBox7.Value = Range("Les_départements").Item(Application.Match(varNum, Range("Les_numéros_départements"), 0)) End Sub
Corrigé par M.Gaboly, qui ne fonctionne pas du tout chez moi :
avec les départements dans une colonne (plage nommée "NumDép") et les noms dans la colonne immédiatement à droite, la cellule précédant le premier nom étant nommée "RéfNoms". (par exemple numéros de A2 à A100, correspondant au nom "NumDép", les noms de B2 à B100 et la cellule B1 nommée "RéfNoms".
NB1 - Dans le UserForm, j'ai remplacé TextBox6 par TNum et TextBox7 par TNom, c'est + parlant.
Private Sub TNum_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) On Error Resume Next TNom = Range("RéfNoms").Offset(Application.Match(Val(TNum), Range("NumDép"), 0)) ' Sur la même ligne que TNom = ... End Sub