Bonjour à toutes et tous,
J'ai bien avancé dans mon projet et, en grande partie avec l'aide de JB,
j'ai réussi des choses que je ne pensais pas imaginable dans EXCEL.
Mon nouveau problème est une compilation de deux choses qui fonctionnent
dans un autre contexte mais que je n'arrive pas à adapter. Le voici exposé
de manière très simplifiée
J'ai divisé un userform en 2 parties.
La première partie correspond à de la saisie. On y trouve 5 Textbox. Dans
la 1, un lecteur de code barre me permet d'afficher un numéro d'animal. Le
code de la macro permet de retrouver dans une liste (Feuille 1 - Colonne
A) le numéro affiché et de copier dans les colonnes suivantes (même
ligne - Colonne B à E) les valeurs saisies dans les 4 Textbox suivantes.
Un bouton derrière lequel se trouve le code suivant permet de le faire
sans problème :
Private Sub CmdB1_UF1_Click()
Set x = [Feuil1].[A:A].Find(what:=Me.TextBox1, lookat:=xlWhole)
If Not x Is Nothing Then
For i = 2 To 5
If IsNumeric(Me("textbox" & i)) Then
Cells(x.Row, i) = CDbl(Me("textbox" & i))
Else
Cells(x.Row, i) = Me("textbox" & i)
End If
Me("textbox" & i) = ""
Next i
End Sub
Dans la seconde partie, je souhaite voir s'afficher un historique de
données correspondant au numéro indiqué dans la Textbox1, dès validation
de celle-ci.
Cet historique se situe en Feuille 2. Il y a en colonne A la liste des
numéros d'animaux et dans les colonnes suivantes (B à C) des données que
je souhaite voir apparaître dans les Textbox 6 à 7.
J'ai nommé "tatouage" la colonne A de la Feuille 2 et "BDAnimaux"
l'ensemble des données de la feuille 2 (A2:C1000). Pourtant le code
suivant ne fonctionne pas :
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
p = Application.Match(Me.TextBox1.Value, [tatouage], 0)
If Not IsError(p) Then
For i = 6 To 7
Application.Index([BDAnimaux], p, i)
UserForm1.Controls("textbox" & i) = Application.Index([BDAnimaux], p,
i - 4)
Next i
End sub
Quelqu'un peut-il me dire pourquoi ou me donner une autre piste ?
Merci d'avance
Julie
Bonjour à toutes et tous,
J'ai bien avancé dans mon projet et, en grande partie avec l'aide de JB,
j'ai réussi des choses que je ne pensais pas imaginable dans EXCEL.
Mon nouveau problème est une compilation de deux choses qui fonctionnent
dans un autre contexte mais que je n'arrive pas à adapter. Le voici exposé
de manière très simplifiée
J'ai divisé un userform en 2 parties.
La première partie correspond à de la saisie. On y trouve 5 Textbox. Dans
la 1, un lecteur de code barre me permet d'afficher un numéro d'animal. Le
code de la macro permet de retrouver dans une liste (Feuille 1 - Colonne
A) le numéro affiché et de copier dans les colonnes suivantes (même
ligne - Colonne B à E) les valeurs saisies dans les 4 Textbox suivantes.
Un bouton derrière lequel se trouve le code suivant permet de le faire
sans problème :
Private Sub CmdB1_UF1_Click()
Set x = [Feuil1].[A:A].Find(what:=Me.TextBox1, lookat:=xlWhole)
If Not x Is Nothing Then
For i = 2 To 5
If IsNumeric(Me("textbox" & i)) Then
Cells(x.Row, i) = CDbl(Me("textbox" & i))
Else
Cells(x.Row, i) = Me("textbox" & i)
End If
Me("textbox" & i) = ""
Next i
End Sub
Dans la seconde partie, je souhaite voir s'afficher un historique de
données correspondant au numéro indiqué dans la Textbox1, dès validation
de celle-ci.
Cet historique se situe en Feuille 2. Il y a en colonne A la liste des
numéros d'animaux et dans les colonnes suivantes (B à C) des données que
je souhaite voir apparaître dans les Textbox 6 à 7.
J'ai nommé "tatouage" la colonne A de la Feuille 2 et "BDAnimaux"
l'ensemble des données de la feuille 2 (A2:C1000). Pourtant le code
suivant ne fonctionne pas :
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
p = Application.Match(Me.TextBox1.Value, [tatouage], 0)
If Not IsError(p) Then
For i = 6 To 7
Application.Index([BDAnimaux], p, i)
UserForm1.Controls("textbox" & i) = Application.Index([BDAnimaux], p,
i - 4)
Next i
End sub
Quelqu'un peut-il me dire pourquoi ou me donner une autre piste ?
Merci d'avance
Julie
Bonjour à toutes et tous,
J'ai bien avancé dans mon projet et, en grande partie avec l'aide de JB,
j'ai réussi des choses que je ne pensais pas imaginable dans EXCEL.
Mon nouveau problème est une compilation de deux choses qui fonctionnent
dans un autre contexte mais que je n'arrive pas à adapter. Le voici exposé
de manière très simplifiée
J'ai divisé un userform en 2 parties.
La première partie correspond à de la saisie. On y trouve 5 Textbox. Dans
la 1, un lecteur de code barre me permet d'afficher un numéro d'animal. Le
code de la macro permet de retrouver dans une liste (Feuille 1 - Colonne
A) le numéro affiché et de copier dans les colonnes suivantes (même
ligne - Colonne B à E) les valeurs saisies dans les 4 Textbox suivantes.
Un bouton derrière lequel se trouve le code suivant permet de le faire
sans problème :
Private Sub CmdB1_UF1_Click()
Set x = [Feuil1].[A:A].Find(what:=Me.TextBox1, lookat:=xlWhole)
If Not x Is Nothing Then
For i = 2 To 5
If IsNumeric(Me("textbox" & i)) Then
Cells(x.Row, i) = CDbl(Me("textbox" & i))
Else
Cells(x.Row, i) = Me("textbox" & i)
End If
Me("textbox" & i) = ""
Next i
End Sub
Dans la seconde partie, je souhaite voir s'afficher un historique de
données correspondant au numéro indiqué dans la Textbox1, dès validation
de celle-ci.
Cet historique se situe en Feuille 2. Il y a en colonne A la liste des
numéros d'animaux et dans les colonnes suivantes (B à C) des données que
je souhaite voir apparaître dans les Textbox 6 à 7.
J'ai nommé "tatouage" la colonne A de la Feuille 2 et "BDAnimaux"
l'ensemble des données de la feuille 2 (A2:C1000). Pourtant le code
suivant ne fonctionne pas :
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
p = Application.Match(Me.TextBox1.Value, [tatouage], 0)
If Not IsError(p) Then
For i = 6 To 7
Application.Index([BDAnimaux], p, i)
UserForm1.Controls("textbox" & i) = Application.Index([BDAnimaux], p,
i - 4)
Next i
End sub
Quelqu'un peut-il me dire pourquoi ou me donner une autre piste ?
Merci d'avance
Julie
Bonsoir,
Essaie ce lien tu vas sur l'userform et fais F5
Regarde les textebox quand change
Peut etre t'en inspirer, à adapter
http://cjoint.com/?hjsu128KyL
Bonsoir,
Essaie ce lien tu vas sur l'userform et fais F5
Regarde les textebox quand change
Peut etre t'en inspirer, à adapter
http://cjoint.com/?hjsu128KyL
Bonsoir,
Essaie ce lien tu vas sur l'userform et fais F5
Regarde les textebox quand change
Peut etre t'en inspirer, à adapter
http://cjoint.com/?hjsu128KyL
Bonjour à toutes et tous,
J'ai bien avancé dans mon projet et, en grande partie avec l'ai de de
JB, j'ai réussi des choses que je ne pensais pas imaginable dans EXCEL.
Mon nouveau problème est une compilation de deux choses qui
fonctionnent dans un autre contexte mais que je n'arrive pas à adapter.
Le voici exposé de manière très simplifiée
J'ai divisé un userform en 2 parties.
La première partie correspond à de la saisie. On y trouve 5 T extbox.
Dans la 1, un lecteur de code barre me permet d'afficher un numéro
d'animal. Le code de la macro permet de retrouver dans une liste
(Feuille 1 - Colonne A) le numéro affiché et de copier dans les colon nes
suivantes (même ligne - Colonne B à E) les valeurs saisies dans les 4
Textbox suivantes.
Un bouton derrière lequel se trouve le code suivant permet de l e faire
sans problème :
Private Sub CmdB1_UF1_Click()
Set x = [Feuil1].[A:A].Find(what:=Me.TextBox1, lookat:=xlWhole)
If Not x Is Nothing Then
For i = 2 To 5
If IsNumeric(Me("textbox" & i)) Then
Cells(x.Row, i) = CDbl(Me("textbox" & i))
Else
Cells(x.Row, i) = Me("textbox" & i)
End If
Me("textbox" & i) = ""
Next i
End Sub
Dans la seconde partie, je souhaite voir s'afficher un historique de
données correspondant au numéro indiqué dans la Textbox1, dès val idation
de celle-ci.
Cet historique se situe en Feuille 2. Il y a en colonne A la list e des
numéros d'animaux et dans les colonnes suivantes (B à C) des donnée s que
je souhaite voir apparaître dans les Textbox 6 à 7.
J'ai nommé "tatouage" la colonne A de la Feuille 2 et "BDAnimau x"
l'ensemble des données de la feuille 2 (A2:C1000). Pourtant le code
suivant ne fonctionne pas :
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
p = Application.Match(Me.TextBox1.Value, [tatouage], 0)
If Not IsError(p) Then
For i = 6 To 7
Application.Index([BDAnimaux], p, i)
UserForm1.Controls("textbox" & i) = Application.Index([BDAnimaux], p,
i - 4)
Next i
End sub
Quelqu'un peut-il me dire pourquoi ou me donner une autre piste ?
Merci d'avance
Julie
Bonjour à toutes et tous,
J'ai bien avancé dans mon projet et, en grande partie avec l'ai de de
JB, j'ai réussi des choses que je ne pensais pas imaginable dans EXCEL.
Mon nouveau problème est une compilation de deux choses qui
fonctionnent dans un autre contexte mais que je n'arrive pas à adapter.
Le voici exposé de manière très simplifiée
J'ai divisé un userform en 2 parties.
La première partie correspond à de la saisie. On y trouve 5 T extbox.
Dans la 1, un lecteur de code barre me permet d'afficher un numéro
d'animal. Le code de la macro permet de retrouver dans une liste
(Feuille 1 - Colonne A) le numéro affiché et de copier dans les colon nes
suivantes (même ligne - Colonne B à E) les valeurs saisies dans les 4
Textbox suivantes.
Un bouton derrière lequel se trouve le code suivant permet de l e faire
sans problème :
Private Sub CmdB1_UF1_Click()
Set x = [Feuil1].[A:A].Find(what:=Me.TextBox1, lookat:=xlWhole)
If Not x Is Nothing Then
For i = 2 To 5
If IsNumeric(Me("textbox" & i)) Then
Cells(x.Row, i) = CDbl(Me("textbox" & i))
Else
Cells(x.Row, i) = Me("textbox" & i)
End If
Me("textbox" & i) = ""
Next i
End Sub
Dans la seconde partie, je souhaite voir s'afficher un historique de
données correspondant au numéro indiqué dans la Textbox1, dès val idation
de celle-ci.
Cet historique se situe en Feuille 2. Il y a en colonne A la list e des
numéros d'animaux et dans les colonnes suivantes (B à C) des donnée s que
je souhaite voir apparaître dans les Textbox 6 à 7.
J'ai nommé "tatouage" la colonne A de la Feuille 2 et "BDAnimau x"
l'ensemble des données de la feuille 2 (A2:C1000). Pourtant le code
suivant ne fonctionne pas :
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
p = Application.Match(Me.TextBox1.Value, [tatouage], 0)
If Not IsError(p) Then
For i = 6 To 7
Application.Index([BDAnimaux], p, i)
UserForm1.Controls("textbox" & i) = Application.Index([BDAnimaux], p,
i - 4)
Next i
End sub
Quelqu'un peut-il me dire pourquoi ou me donner une autre piste ?
Merci d'avance
Julie
Bonjour à toutes et tous,
J'ai bien avancé dans mon projet et, en grande partie avec l'ai de de
JB, j'ai réussi des choses que je ne pensais pas imaginable dans EXCEL.
Mon nouveau problème est une compilation de deux choses qui
fonctionnent dans un autre contexte mais que je n'arrive pas à adapter.
Le voici exposé de manière très simplifiée
J'ai divisé un userform en 2 parties.
La première partie correspond à de la saisie. On y trouve 5 T extbox.
Dans la 1, un lecteur de code barre me permet d'afficher un numéro
d'animal. Le code de la macro permet de retrouver dans une liste
(Feuille 1 - Colonne A) le numéro affiché et de copier dans les colon nes
suivantes (même ligne - Colonne B à E) les valeurs saisies dans les 4
Textbox suivantes.
Un bouton derrière lequel se trouve le code suivant permet de l e faire
sans problème :
Private Sub CmdB1_UF1_Click()
Set x = [Feuil1].[A:A].Find(what:=Me.TextBox1, lookat:=xlWhole)
If Not x Is Nothing Then
For i = 2 To 5
If IsNumeric(Me("textbox" & i)) Then
Cells(x.Row, i) = CDbl(Me("textbox" & i))
Else
Cells(x.Row, i) = Me("textbox" & i)
End If
Me("textbox" & i) = ""
Next i
End Sub
Dans la seconde partie, je souhaite voir s'afficher un historique de
données correspondant au numéro indiqué dans la Textbox1, dès val idation
de celle-ci.
Cet historique se situe en Feuille 2. Il y a en colonne A la list e des
numéros d'animaux et dans les colonnes suivantes (B à C) des donnée s que
je souhaite voir apparaître dans les Textbox 6 à 7.
J'ai nommé "tatouage" la colonne A de la Feuille 2 et "BDAnimau x"
l'ensemble des données de la feuille 2 (A2:C1000). Pourtant le code
suivant ne fonctionne pas :
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
p = Application.Match(Me.TextBox1.Value, [tatouage], 0)
If Not IsError(p) Then
For i = 6 To 7
Application.Index([BDAnimaux], p, i)
UserForm1.Controls("textbox" & i) = Application.Index([BDAnimaux], p,
i - 4)
Next i
End sub
Quelqu'un peut-il me dire pourquoi ou me donner une autre piste ?
Merci d'avance
Julie
Bonsoir,
Utiliser CDbl() pour convertir le code en numérique?
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
p = Application.Match(CDbl(Me.TextBox1.Value), [tatouage], 0)
If Not IsError(p) Then
For i = 6 To 7
UserForm1.Controls("textbox" & i) > Application.Index([BDAnimaux], p, i - 4)
Next i
End If
End Sub
JB
On 9 juil, 18:03, JulieH wrote:Bonjour à toutes et tous,
J'ai bien avancé dans mon projet et, en grande partie avec l'aide de
JB, j'ai réussi des choses que je ne pensais pas imaginable dans EXCEL.
Mon nouveau problème est une compilation de deux choses qui
fonctionnent dans un autre contexte mais que je n'arrive pas à adapter.
Le voici exposé de manière très simplifiée
J'ai divisé un userform en 2 parties.
La première partie correspond à de la saisie. On y trouve 5 Textbox.
Dans la 1, un lecteur de code barre me permet d'afficher un numéro
d'animal. Le code de la macro permet de retrouver dans une liste
(Feuille 1 - Colonne A) le numéro affiché et de copier dans les colonnes
suivantes (même ligne - Colonne B à E) les valeurs saisies dans les 4
Textbox suivantes.
Un bouton derrière lequel se trouve le code suivant permet de le faire
sans problème :
Private Sub CmdB1_UF1_Click()
Set x = [Feuil1].[A:A].Find(what:=Me.TextBox1, lookat:=xlWhole)
If Not x Is Nothing Then
For i = 2 To 5
If IsNumeric(Me("textbox" & i)) Then
Cells(x.Row, i) = CDbl(Me("textbox" & i))
Else
Cells(x.Row, i) = Me("textbox" & i)
End If
Me("textbox" & i) = ""
Next i
End Sub
Dans la seconde partie, je souhaite voir s'afficher un historique de
données correspondant au numéro indiqué dans la Textbox1, dès validation
de celle-ci.
Cet historique se situe en Feuille 2. Il y a en colonne A la liste des
numéros d'animaux et dans les colonnes suivantes (B à C) des données que
je souhaite voir apparaître dans les Textbox 6 à 7.
J'ai nommé "tatouage" la colonne A de la Feuille 2 et "BDAnimaux"
l'ensemble des données de la feuille 2 (A2:C1000). Pourtant le code
suivant ne fonctionne pas :
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
p = Application.Match(Me.TextBox1.Value, [tatouage], 0)
If Not IsError(p) Then
For i = 6 To 7
Application.Index([BDAnimaux], p, i)
UserForm1.Controls("textbox" & i) = Application.Index([BDAnimaux], p,
i - 4)
Next i
End sub
Quelqu'un peut-il me dire pourquoi ou me donner une autre piste ?
Merci d'avance
Julie
Bonsoir,
Utiliser CDbl() pour convertir le code en numérique?
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
p = Application.Match(CDbl(Me.TextBox1.Value), [tatouage], 0)
If Not IsError(p) Then
For i = 6 To 7
UserForm1.Controls("textbox" & i) > Application.Index([BDAnimaux], p, i - 4)
Next i
End If
End Sub
JB
On 9 juil, 18:03, JulieH <jul...@discussions.microsoft.com> wrote:
Bonjour à toutes et tous,
J'ai bien avancé dans mon projet et, en grande partie avec l'aide de
JB, j'ai réussi des choses que je ne pensais pas imaginable dans EXCEL.
Mon nouveau problème est une compilation de deux choses qui
fonctionnent dans un autre contexte mais que je n'arrive pas à adapter.
Le voici exposé de manière très simplifiée
J'ai divisé un userform en 2 parties.
La première partie correspond à de la saisie. On y trouve 5 Textbox.
Dans la 1, un lecteur de code barre me permet d'afficher un numéro
d'animal. Le code de la macro permet de retrouver dans une liste
(Feuille 1 - Colonne A) le numéro affiché et de copier dans les colonnes
suivantes (même ligne - Colonne B à E) les valeurs saisies dans les 4
Textbox suivantes.
Un bouton derrière lequel se trouve le code suivant permet de le faire
sans problème :
Private Sub CmdB1_UF1_Click()
Set x = [Feuil1].[A:A].Find(what:=Me.TextBox1, lookat:=xlWhole)
If Not x Is Nothing Then
For i = 2 To 5
If IsNumeric(Me("textbox" & i)) Then
Cells(x.Row, i) = CDbl(Me("textbox" & i))
Else
Cells(x.Row, i) = Me("textbox" & i)
End If
Me("textbox" & i) = ""
Next i
End Sub
Dans la seconde partie, je souhaite voir s'afficher un historique de
données correspondant au numéro indiqué dans la Textbox1, dès validation
de celle-ci.
Cet historique se situe en Feuille 2. Il y a en colonne A la liste des
numéros d'animaux et dans les colonnes suivantes (B à C) des données que
je souhaite voir apparaître dans les Textbox 6 à 7.
J'ai nommé "tatouage" la colonne A de la Feuille 2 et "BDAnimaux"
l'ensemble des données de la feuille 2 (A2:C1000). Pourtant le code
suivant ne fonctionne pas :
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
p = Application.Match(Me.TextBox1.Value, [tatouage], 0)
If Not IsError(p) Then
For i = 6 To 7
Application.Index([BDAnimaux], p, i)
UserForm1.Controls("textbox" & i) = Application.Index([BDAnimaux], p,
i - 4)
Next i
End sub
Quelqu'un peut-il me dire pourquoi ou me donner une autre piste ?
Merci d'avance
Julie
Bonsoir,
Utiliser CDbl() pour convertir le code en numérique?
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
p = Application.Match(CDbl(Me.TextBox1.Value), [tatouage], 0)
If Not IsError(p) Then
For i = 6 To 7
UserForm1.Controls("textbox" & i) > Application.Index([BDAnimaux], p, i - 4)
Next i
End If
End Sub
JB
On 9 juil, 18:03, JulieH wrote:Bonjour à toutes et tous,
J'ai bien avancé dans mon projet et, en grande partie avec l'aide de
JB, j'ai réussi des choses que je ne pensais pas imaginable dans EXCEL.
Mon nouveau problème est une compilation de deux choses qui
fonctionnent dans un autre contexte mais que je n'arrive pas à adapter.
Le voici exposé de manière très simplifiée
J'ai divisé un userform en 2 parties.
La première partie correspond à de la saisie. On y trouve 5 Textbox.
Dans la 1, un lecteur de code barre me permet d'afficher un numéro
d'animal. Le code de la macro permet de retrouver dans une liste
(Feuille 1 - Colonne A) le numéro affiché et de copier dans les colonnes
suivantes (même ligne - Colonne B à E) les valeurs saisies dans les 4
Textbox suivantes.
Un bouton derrière lequel se trouve le code suivant permet de le faire
sans problème :
Private Sub CmdB1_UF1_Click()
Set x = [Feuil1].[A:A].Find(what:=Me.TextBox1, lookat:=xlWhole)
If Not x Is Nothing Then
For i = 2 To 5
If IsNumeric(Me("textbox" & i)) Then
Cells(x.Row, i) = CDbl(Me("textbox" & i))
Else
Cells(x.Row, i) = Me("textbox" & i)
End If
Me("textbox" & i) = ""
Next i
End Sub
Dans la seconde partie, je souhaite voir s'afficher un historique de
données correspondant au numéro indiqué dans la Textbox1, dès validation
de celle-ci.
Cet historique se situe en Feuille 2. Il y a en colonne A la liste des
numéros d'animaux et dans les colonnes suivantes (B à C) des données que
je souhaite voir apparaître dans les Textbox 6 à 7.
J'ai nommé "tatouage" la colonne A de la Feuille 2 et "BDAnimaux"
l'ensemble des données de la feuille 2 (A2:C1000). Pourtant le code
suivant ne fonctionne pas :
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
p = Application.Match(Me.TextBox1.Value, [tatouage], 0)
If Not IsError(p) Then
For i = 6 To 7
Application.Index([BDAnimaux], p, i)
UserForm1.Controls("textbox" & i) = Application.Index([BDAnimaux], p,
i - 4)
Next i
End sub
Quelqu'un peut-il me dire pourquoi ou me donner une autre piste ?
Merci d'avance
Julie
Bonsoir et merci pour ton aide,
A ma grande déception car j'y croyais, ta solution n'a rien cha ngé au
problème.
JulieBonsoir,
Utiliser CDbl() pour convertir le code en numérique?
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
p = Application.Match(CDbl(Me.TextBox1.Value), [tatouage], 0)
If Not IsError(p) Then
For i = 6 To 7
UserForm1.Controls("textbox" & i) =
Application.Index([BDAnimaux], p, i - 4)
Next i
End If
End Sub
JB
On 9 juil, 18:03, JulieH wrote:Bonjour à toutes et tous,
J'ai bien avancé dans mon projet et, en grande partie avec l 'aide de
JB, j'ai réussi des choses que je ne pensais pas imaginable dans EXC EL.
Mon nouveau problème est une compilation de deux choses qui
fonctionnent dans un autre contexte mais que je n'arrive pas à adapt er.
Le voici exposé de manière très simplifiée
J'ai divisé un userform en 2 parties.
La première partie correspond à de la saisie. On y trouve 5 Textbox.
Dans la 1, un lecteur de code barre me permet d'afficher un numéro
d'animal. Le code de la macro permet de retrouver dans une liste
(Feuille 1 - Colonne A) le numéro affiché et de copier dans les co lonnes
suivantes (même ligne - Colonne B à E) les valeurs saisies dans le s 4
Textbox suivantes.
Un bouton derrière lequel se trouve le code suivant permet d e le faire
sans problème :
Private Sub CmdB1_UF1_Click()
Set x = [Feuil1].[A:A].Find(what:=Me.TextBox1, lookat:=xlWhole)
If Not x Is Nothing Then
For i = 2 To 5
If IsNumeric(Me("textbox" & i)) Then
Cells(x.Row, i) = CDbl(Me("textbox" & i))
Else
Cells(x.Row, i) = Me("textbox" & i)
End If
Me("textbox" & i) = ""
Next i
End Sub
Dans la seconde partie, je souhaite voir s'afficher un histori que de
données correspondant au numéro indiqué dans la Textbox1, dès validation
de celle-ci.
Cet historique se situe en Feuille 2. Il y a en colonne A la l iste des
numéros d'animaux et dans les colonnes suivantes (B à C) des donn ées que
je souhaite voir apparaître dans les Textbox 6 à 7.
J'ai nommé "tatouage" la colonne A de la Feuille 2 et "BDAni maux"
l'ensemble des données de la feuille 2 (A2:C1000). Pourtant le code
suivant ne fonctionne pas :
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolea n)
p = Application.Match(Me.TextBox1.Value, [tatouage], 0)
If Not IsError(p) Then
For i = 6 To 7
Application.Index([BDAnimaux], p, i)
UserForm1.Controls("textbox" & i) = Application.Index([BDAnimaux] , p,
i - 4)
Next i
End sub
Quelqu'un peut-il me dire pourquoi ou me donner une autre piste ?
Merci d'avance
Julie- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonsoir et merci pour ton aide,
A ma grande déception car j'y croyais, ta solution n'a rien cha ngé au
problème.
Julie
Bonsoir,
Utiliser CDbl() pour convertir le code en numérique?
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
p = Application.Match(CDbl(Me.TextBox1.Value), [tatouage], 0)
If Not IsError(p) Then
For i = 6 To 7
UserForm1.Controls("textbox" & i) =
Application.Index([BDAnimaux], p, i - 4)
Next i
End If
End Sub
JB
On 9 juil, 18:03, JulieH <jul...@discussions.microsoft.com> wrote:
Bonjour à toutes et tous,
J'ai bien avancé dans mon projet et, en grande partie avec l 'aide de
JB, j'ai réussi des choses que je ne pensais pas imaginable dans EXC EL.
Mon nouveau problème est une compilation de deux choses qui
fonctionnent dans un autre contexte mais que je n'arrive pas à adapt er.
Le voici exposé de manière très simplifiée
J'ai divisé un userform en 2 parties.
La première partie correspond à de la saisie. On y trouve 5 Textbox.
Dans la 1, un lecteur de code barre me permet d'afficher un numéro
d'animal. Le code de la macro permet de retrouver dans une liste
(Feuille 1 - Colonne A) le numéro affiché et de copier dans les co lonnes
suivantes (même ligne - Colonne B à E) les valeurs saisies dans le s 4
Textbox suivantes.
Un bouton derrière lequel se trouve le code suivant permet d e le faire
sans problème :
Private Sub CmdB1_UF1_Click()
Set x = [Feuil1].[A:A].Find(what:=Me.TextBox1, lookat:=xlWhole)
If Not x Is Nothing Then
For i = 2 To 5
If IsNumeric(Me("textbox" & i)) Then
Cells(x.Row, i) = CDbl(Me("textbox" & i))
Else
Cells(x.Row, i) = Me("textbox" & i)
End If
Me("textbox" & i) = ""
Next i
End Sub
Dans la seconde partie, je souhaite voir s'afficher un histori que de
données correspondant au numéro indiqué dans la Textbox1, dès validation
de celle-ci.
Cet historique se situe en Feuille 2. Il y a en colonne A la l iste des
numéros d'animaux et dans les colonnes suivantes (B à C) des donn ées que
je souhaite voir apparaître dans les Textbox 6 à 7.
J'ai nommé "tatouage" la colonne A de la Feuille 2 et "BDAni maux"
l'ensemble des données de la feuille 2 (A2:C1000). Pourtant le code
suivant ne fonctionne pas :
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolea n)
p = Application.Match(Me.TextBox1.Value, [tatouage], 0)
If Not IsError(p) Then
For i = 6 To 7
Application.Index([BDAnimaux], p, i)
UserForm1.Controls("textbox" & i) = Application.Index([BDAnimaux] , p,
i - 4)
Next i
End sub
Quelqu'un peut-il me dire pourquoi ou me donner une autre piste ?
Merci d'avance
Julie- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonsoir et merci pour ton aide,
A ma grande déception car j'y croyais, ta solution n'a rien cha ngé au
problème.
JulieBonsoir,
Utiliser CDbl() pour convertir le code en numérique?
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
p = Application.Match(CDbl(Me.TextBox1.Value), [tatouage], 0)
If Not IsError(p) Then
For i = 6 To 7
UserForm1.Controls("textbox" & i) =
Application.Index([BDAnimaux], p, i - 4)
Next i
End If
End Sub
JB
On 9 juil, 18:03, JulieH wrote:Bonjour à toutes et tous,
J'ai bien avancé dans mon projet et, en grande partie avec l 'aide de
JB, j'ai réussi des choses que je ne pensais pas imaginable dans EXC EL.
Mon nouveau problème est une compilation de deux choses qui
fonctionnent dans un autre contexte mais que je n'arrive pas à adapt er.
Le voici exposé de manière très simplifiée
J'ai divisé un userform en 2 parties.
La première partie correspond à de la saisie. On y trouve 5 Textbox.
Dans la 1, un lecteur de code barre me permet d'afficher un numéro
d'animal. Le code de la macro permet de retrouver dans une liste
(Feuille 1 - Colonne A) le numéro affiché et de copier dans les co lonnes
suivantes (même ligne - Colonne B à E) les valeurs saisies dans le s 4
Textbox suivantes.
Un bouton derrière lequel se trouve le code suivant permet d e le faire
sans problème :
Private Sub CmdB1_UF1_Click()
Set x = [Feuil1].[A:A].Find(what:=Me.TextBox1, lookat:=xlWhole)
If Not x Is Nothing Then
For i = 2 To 5
If IsNumeric(Me("textbox" & i)) Then
Cells(x.Row, i) = CDbl(Me("textbox" & i))
Else
Cells(x.Row, i) = Me("textbox" & i)
End If
Me("textbox" & i) = ""
Next i
End Sub
Dans la seconde partie, je souhaite voir s'afficher un histori que de
données correspondant au numéro indiqué dans la Textbox1, dès validation
de celle-ci.
Cet historique se situe en Feuille 2. Il y a en colonne A la l iste des
numéros d'animaux et dans les colonnes suivantes (B à C) des donn ées que
je souhaite voir apparaître dans les Textbox 6 à 7.
J'ai nommé "tatouage" la colonne A de la Feuille 2 et "BDAni maux"
l'ensemble des données de la feuille 2 (A2:C1000). Pourtant le code
suivant ne fonctionne pas :
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolea n)
p = Application.Match(Me.TextBox1.Value, [tatouage], 0)
If Not IsError(p) Then
For i = 6 To 7
Application.Index([BDAnimaux], p, i)
UserForm1.Controls("textbox" & i) = Application.Index([BDAnimaux] , p,
i - 4)
Next i
End sub
Quelqu'un peut-il me dire pourquoi ou me donner une autre piste ?
Merci d'avance
Julie- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonsoir,
Utiliser CDbl() pour convertir le code en numérique?
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
p = Application.Match(CDbl(Me.TextBox1.Value), [tatouage], 0)
If Not IsError(p) Then
For i = 6 To 7
UserForm1.Controls("textbox" & i) > Application.Index([BDAnimaux], p, i - 4)
Next i
End If
End Sub
JB
On 9 juil, 18:03, JulieH wrote:Bonjour à toutes et tous,
J'ai bien avancé dans mon projet et, en grande partie avec l'aide de
JB, j'ai réussi des choses que je ne pensais pas imaginable dans EXCEL.
Mon nouveau problème est une compilation de deux choses qui
fonctionnent dans un autre contexte mais que je n'arrive pas à adapter.
Le voici exposé de manière très simplifiée
J'ai divisé un userform en 2 parties.
La première partie correspond à de la saisie. On y trouve 5 Textbox.
Dans la 1, un lecteur de code barre me permet d'afficher un numéro
d'animal. Le code de la macro permet de retrouver dans une liste
(Feuille 1 - Colonne A) le numéro affiché et de copier dans les colonnes
suivantes (même ligne - Colonne B à E) les valeurs saisies dans les 4
Textbox suivantes.
Un bouton derrière lequel se trouve le code suivant permet de le faire
sans problème :
Private Sub CmdB1_UF1_Click()
Set x = [Feuil1].[A:A].Find(what:=Me.TextBox1, lookat:=xlWhole)
If Not x Is Nothing Then
For i = 2 To 5
If IsNumeric(Me("textbox" & i)) Then
Cells(x.Row, i) = CDbl(Me("textbox" & i))
Else
Cells(x.Row, i) = Me("textbox" & i)
End If
Me("textbox" & i) = ""
Next i
End Sub
Dans la seconde partie, je souhaite voir s'afficher un historique de
données correspondant au numéro indiqué dans la Textbox1, dès validation
de celle-ci.
Cet historique se situe en Feuille 2. Il y a en colonne A la liste des
numéros d'animaux et dans les colonnes suivantes (B à C) des données que
je souhaite voir apparaître dans les Textbox 6 à 7.
J'ai nommé "tatouage" la colonne A de la Feuille 2 et "BDAnimaux"
l'ensemble des données de la feuille 2 (A2:C1000). Pourtant le code
suivant ne fonctionne pas :
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
p = Application.Match(Me.TextBox1.Value, [tatouage], 0)
If Not IsError(p) Then
For i = 6 To 7
Application.Index([BDAnimaux], p, i)
UserForm1.Controls("textbox" & i) = Application.Index([BDAnimaux], p,
i - 4)
Next i
End sub
Quelqu'un peut-il me dire pourquoi ou me donner une autre piste ?
Merci d'avance
Julie
Bonsoir,
Utiliser CDbl() pour convertir le code en numérique?
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
p = Application.Match(CDbl(Me.TextBox1.Value), [tatouage], 0)
If Not IsError(p) Then
For i = 6 To 7
UserForm1.Controls("textbox" & i) > Application.Index([BDAnimaux], p, i - 4)
Next i
End If
End Sub
JB
On 9 juil, 18:03, JulieH <jul...@discussions.microsoft.com> wrote:
Bonjour à toutes et tous,
J'ai bien avancé dans mon projet et, en grande partie avec l'aide de
JB, j'ai réussi des choses que je ne pensais pas imaginable dans EXCEL.
Mon nouveau problème est une compilation de deux choses qui
fonctionnent dans un autre contexte mais que je n'arrive pas à adapter.
Le voici exposé de manière très simplifiée
J'ai divisé un userform en 2 parties.
La première partie correspond à de la saisie. On y trouve 5 Textbox.
Dans la 1, un lecteur de code barre me permet d'afficher un numéro
d'animal. Le code de la macro permet de retrouver dans une liste
(Feuille 1 - Colonne A) le numéro affiché et de copier dans les colonnes
suivantes (même ligne - Colonne B à E) les valeurs saisies dans les 4
Textbox suivantes.
Un bouton derrière lequel se trouve le code suivant permet de le faire
sans problème :
Private Sub CmdB1_UF1_Click()
Set x = [Feuil1].[A:A].Find(what:=Me.TextBox1, lookat:=xlWhole)
If Not x Is Nothing Then
For i = 2 To 5
If IsNumeric(Me("textbox" & i)) Then
Cells(x.Row, i) = CDbl(Me("textbox" & i))
Else
Cells(x.Row, i) = Me("textbox" & i)
End If
Me("textbox" & i) = ""
Next i
End Sub
Dans la seconde partie, je souhaite voir s'afficher un historique de
données correspondant au numéro indiqué dans la Textbox1, dès validation
de celle-ci.
Cet historique se situe en Feuille 2. Il y a en colonne A la liste des
numéros d'animaux et dans les colonnes suivantes (B à C) des données que
je souhaite voir apparaître dans les Textbox 6 à 7.
J'ai nommé "tatouage" la colonne A de la Feuille 2 et "BDAnimaux"
l'ensemble des données de la feuille 2 (A2:C1000). Pourtant le code
suivant ne fonctionne pas :
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
p = Application.Match(Me.TextBox1.Value, [tatouage], 0)
If Not IsError(p) Then
For i = 6 To 7
Application.Index([BDAnimaux], p, i)
UserForm1.Controls("textbox" & i) = Application.Index([BDAnimaux], p,
i - 4)
Next i
End sub
Quelqu'un peut-il me dire pourquoi ou me donner une autre piste ?
Merci d'avance
Julie
Bonsoir,
Utiliser CDbl() pour convertir le code en numérique?
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
p = Application.Match(CDbl(Me.TextBox1.Value), [tatouage], 0)
If Not IsError(p) Then
For i = 6 To 7
UserForm1.Controls("textbox" & i) > Application.Index([BDAnimaux], p, i - 4)
Next i
End If
End Sub
JB
On 9 juil, 18:03, JulieH wrote:Bonjour à toutes et tous,
J'ai bien avancé dans mon projet et, en grande partie avec l'aide de
JB, j'ai réussi des choses que je ne pensais pas imaginable dans EXCEL.
Mon nouveau problème est une compilation de deux choses qui
fonctionnent dans un autre contexte mais que je n'arrive pas à adapter.
Le voici exposé de manière très simplifiée
J'ai divisé un userform en 2 parties.
La première partie correspond à de la saisie. On y trouve 5 Textbox.
Dans la 1, un lecteur de code barre me permet d'afficher un numéro
d'animal. Le code de la macro permet de retrouver dans une liste
(Feuille 1 - Colonne A) le numéro affiché et de copier dans les colonnes
suivantes (même ligne - Colonne B à E) les valeurs saisies dans les 4
Textbox suivantes.
Un bouton derrière lequel se trouve le code suivant permet de le faire
sans problème :
Private Sub CmdB1_UF1_Click()
Set x = [Feuil1].[A:A].Find(what:=Me.TextBox1, lookat:=xlWhole)
If Not x Is Nothing Then
For i = 2 To 5
If IsNumeric(Me("textbox" & i)) Then
Cells(x.Row, i) = CDbl(Me("textbox" & i))
Else
Cells(x.Row, i) = Me("textbox" & i)
End If
Me("textbox" & i) = ""
Next i
End Sub
Dans la seconde partie, je souhaite voir s'afficher un historique de
données correspondant au numéro indiqué dans la Textbox1, dès validation
de celle-ci.
Cet historique se situe en Feuille 2. Il y a en colonne A la liste des
numéros d'animaux et dans les colonnes suivantes (B à C) des données que
je souhaite voir apparaître dans les Textbox 6 à 7.
J'ai nommé "tatouage" la colonne A de la Feuille 2 et "BDAnimaux"
l'ensemble des données de la feuille 2 (A2:C1000). Pourtant le code
suivant ne fonctionne pas :
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
p = Application.Match(Me.TextBox1.Value, [tatouage], 0)
If Not IsError(p) Then
For i = 6 To 7
Application.Index([BDAnimaux], p, i)
UserForm1.Controls("textbox" & i) = Application.Index([BDAnimaux], p,
i - 4)
Next i
End sub
Quelqu'un peut-il me dire pourquoi ou me donner une autre piste ?
Merci d'avance
Julie