Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Mise à jour base

3 réponses
Avatar
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

3 réponses

Avatar
Ellimac
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



Avatar
JB
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 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


Avatar
JulieH
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 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