Mise à jour base

Le
JulieH
Bonjour,

Me revoilà avec un nouveau problème dans mon projet.

Rappel de ce que je fais :
- En Feuil1, j'ai une liste d'animaux.
- Dans un Userform, Textbox1, je récupère un numéro avec un lecteur de
code barre.
- Je saisis des infos dans les Textbox suivantes (2 à 4).
- En cliquant sur un bouton, je retrouve le numéro dans la liste et je
met à jour les données dans les colonnes suivantes.

Le code suivant fait cela parfaitement. Je l'ai un peu simplifié pour le
besoin de ce mail mais je gère les numéros inexistants, les infos déjà
saisies

Private Sub CmdB1_UF1_Click()
Application.ScreenUpdating = False
Set x = [Feuil1].[A:A].Find(what:=Me.TextBox1, lookat:=xlWhole)

If Not x Is Nothing Then
For i = 2 To 4
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

Me.TextBox1 = ""
End If
Me.TextBox1.SetFocus
End Sub

Mon problème est le suivant :
- Dans certaines Textbox, je ne saisis pas d'information.
- Dans ce cas, tout semble parfait lors de la mise à jour, il n'y a pas
de 0
- Cependant, lorsque je veux effectuer d'autres opérations (par exemple,
avec Worksheet_Change, je mets 1 dans la cellule de la colonne 5 lorsque
la valeur de la cellule de la colonne 4 est différent de "") il s'avère
que ces cellules ne sont pas réellement vides.

Est-ce un problème soluble ? Merci pour vos idées.

Julie
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Ellimac
Le #4645631
Bonjour,

Peut-être effacer le contenu de la cellule si le TextBox est vide ?

Else
Cells(x.Row, i) .ClearContents

Camille

"JulieH" wrote:

Bonjour,

Me revoilà avec un nouveau problème dans mon projet.

Rappel de ce que je fais :
- En Feuil1, j'ai une liste d'animaux.
- Dans un Userform, Textbox1, je récupère un numéro avec un lecteur de
code barre.
- Je saisis des infos dans les Textbox suivantes (2 à 4).
- En cliquant sur un bouton, je retrouve le numéro dans la liste et je
met à jour les données dans les colonnes suivantes.

Le code suivant fait cela parfaitement. Je l'ai un peu simplifié pour le
besoin de ce mail mais je gère les numéros inexistants, les infos déjà
saisies...

Private Sub CmdB1_UF1_Click()
Application.ScreenUpdating = False
Set x = [Feuil1].[A:A].Find(what:=Me.TextBox1, lookat:=xlWhole)

If Not x Is Nothing Then
For i = 2 To 4
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

Me.TextBox1 = ""
End If
Me.TextBox1.SetFocus
End Sub

Mon problème est le suivant :
- Dans certaines Textbox, je ne saisis pas d'information.
- Dans ce cas, tout semble parfait lors de la mise à jour, il n'y a pas
de 0...
- Cependant, lorsque je veux effectuer d'autres opérations (par exemple,
avec Worksheet_Change, je mets 1 dans la cellule de la colonne 5 lorsque
la valeur de la cellule de la colonne 4 est différent de "") il s'avère
que ces cellules ne sont pas réellement vides.

Est-ce un problème soluble ? Merci pour vos idées.

Julie



JB
Le #4645581
Bonjour,

Application.ScreenUpdating = False
Set x = [Feuil1].[A:A].Find(what:=Me.TextBox1, lookat:=xlWhole)
If Not x Is Nothing Then
For i = 2 To 4
If Me("textbox" & i) <> "" Then
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) = ""
End If
Next i
Me.TextBox1 = ""
End If
Me.TextBox1.SetFocus

JB

On 1 août, 12:27, JulieH
Bonjour,

Me revoilà avec un nouveau problème dans mon projet.

Rappel de ce que je fais :
- En Feuil1, j'ai une liste d'animaux.
- Dans un Userform, Textbox1, je récupère un numéro avec un lecteur de
code barre.
- Je saisis des infos dans les Textbox suivantes (2 à 4).
- En cliquant sur un bouton, je retrouve le numéro dans la liste et je
met à jour les données dans les colonnes suivantes.

Le code suivant fait cela parfaitement. Je l'ai un peu simplifié pour le
besoin de ce mail mais je gère les numéros inexistants, les infos d éjà
saisies...

Private Sub CmdB1_UF1_Click()
Application.ScreenUpdating = False
Set x = [Feuil1].[A:A].Find(what:=Me.TextBox1, lookat:=xlWhole)

If Not x Is Nothing Then
For i = 2 To 4
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

Me.TextBox1 = ""
End If
Me.TextBox1.SetFocus
End Sub

Mon problème est le suivant :
- Dans certaines Textbox, je ne saisis pas d'information.
- Dans ce cas, tout semble parfait lors de la mise à jour, il n'y a pas
de 0...
- Cependant, lorsque je veux effectuer d'autres opérations (par exemple,
avec Worksheet_Change, je mets 1 dans la cellule de la colonne 5 lorsque
la valeur de la cellule de la colonne 4 est différent de "") il s'avè re
que ces cellules ne sont pas réellement vides.

Est-ce un problème soluble ? Merci pour vos idées.

Julie


JulieH
Le #4645571
Bonjour,

OK, merci à tous les deux. Je vais essayer cela.

Julie

Bonjour,

Application.ScreenUpdating = False
Set x = [Feuil1].[A:A].Find(what:=Me.TextBox1, lookat:=xlWhole)
If Not x Is Nothing Then
For i = 2 To 4
If Me("textbox" & i) <> "" Then
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) = ""
End If
Next i
Me.TextBox1 = ""
End If
Me.TextBox1.SetFocus

JB

On 1 août, 12:27, JulieH
Bonjour,

Me revoilà avec un nouveau problème dans mon projet.

Rappel de ce que je fais :
- En Feuil1, j'ai une liste d'animaux.
- Dans un Userform, Textbox1, je récupère un numéro avec un lecteur de
code barre.
- Je saisis des infos dans les Textbox suivantes (2 à 4).
- En cliquant sur un bouton, je retrouve le numéro dans la liste et je
met à jour les données dans les colonnes suivantes.

Le code suivant fait cela parfaitement. Je l'ai un peu simplifié pour le
besoin de ce mail mais je gère les numéros inexistants, les infos déjà
saisies...

Private Sub CmdB1_UF1_Click()
Application.ScreenUpdating = False
Set x = [Feuil1].[A:A].Find(what:=Me.TextBox1, lookat:=xlWhole)

If Not x Is Nothing Then
For i = 2 To 4
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

Me.TextBox1 = ""
End If
Me.TextBox1.SetFocus
End Sub

Mon problème est le suivant :
- Dans certaines Textbox, je ne saisis pas d'information.
- Dans ce cas, tout semble parfait lors de la mise à jour, il n'y a pas
de 0...
- Cependant, lorsque je veux effectuer d'autres opérations (par exemple,
avec Worksheet_Change, je mets 1 dans la cellule de la colonne 5 lorsque
la valeur de la cellule de la colonne 4 est différent de "") il s'avère
que ces cellules ne sont pas réellement vides.

Est-ce un problème soluble ? Merci pour vos idées.

Julie






Publicité
Poster une réponse
Anonyme