Microsoft 365 Erreur de code

Marvin57

XLDnaute Occasionnel
Bonjour à toutes et à tous,

alors avant de préparer un fichier modèle ( ce qui va prendre pas mal de temps), je vous place une image de l'erreur que j'ai dans un code.

Peut-être cela suffira pour me donner un conseil ou me guider, sinon il va falloir que je prépare un modèle. Bref, voila l'erreur du code :

erreur code Marvin57.jpg


Merci d'avance à vous.

Marvin57
 
Solution
Re, bonjour Bruno,
Evidemment si vous testez Result avant de le calculer, ça va pas le faire.:)
Remplacez par :
VB:
With [Tab_1]
  test = IsError([Tab_1[ID]].Find(ListBox10, LookIn:=xlValues))
  If test = False Then MsgBox "Valeur non trouvée."
  Set Result = [Tab_1[ID]].Find(ListBox10, LookIn:=xlValues)
  position = Result.Row - .Row + 1
  .Item(position, 6) = .Item(position, 6) - CDbl(TextBox8.Value)
End With
Le but est simplement de savoir si l'erreur vient de là. Si c'est le cas on affinera.

Car il me donne l'erreur suivante
Très intéressant. Et laquelle ? 😅

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Marvin,
Par pitié, utilisez la balises </> pour le code ( à droite de l'icone GIF ), c'est quand même beaucoup mieux qu'une image. D'autant qu'un copier coller est plus rapide.

Essayez de rajouter avec le "Set result ..." :
VB:
    Test = IsError([Tab_1[ID]].Find(Listbox10, LookIn:=xlValues))
    If Test = False Then MsgBox "Valeur non trouvée."
Car Listbox10 pourrait ne pas être trouvé. Comme par ex confusion entre nombre et chaine.
 

Marvin57

XLDnaute Occasionnel
Bonjour Marvin,
Par pitié, utilisez la balises </> pour le code ( à droite de l'icone GIF ), c'est quand même beaucoup mieux qu'une image. D'autant qu'un copier coller est plus rapide.

Essayez de rajouter avec le "Set result ..." :
VB:
    Test = IsError([Tab_1[ID]].Find(Listbox10, LookIn:=xlValues))
    If Test = False Then MsgBox "Valeur non trouvée."
Car Listbox10 pourrait ne pas être trouvé. Comme par ex confusion entre nombre et chaine.
Bonjour sylvanu,

Merci pour le soutien.
Voici comment j'ai placé votre code. Est-ce correct ?
Car il me donne l'erreur suivante


[/CODE]
Private Sub CommandButton5_Click() 'SORTIE DU JOUR
Dim derligne%
Dim test%
'On Error Resume Next

If TextBox8 = "" Then
MsgBox "Merci de renseigner la quantité."
TextBox8.SetFocus
Exit Sub
End If
If CDbl(TextBox8.Value) > CDbl(TextBox4.Value) Then
MsgBox ("La quantité sortie est supérieure au stock restant, rectifiez votre donnée.")
TextBox8 = ""
TextBox8.SetFocus
Exit Sub
End If
With [Tab_S]
If .Item(1, 2) <> "" Then derligne = .Rows.Count + 1 Else derligne = 1
.Item(derligne, 1) = TextBox1
.Item(derligne, 2) = TextBox8
.Item(derligne, 3) = ComboBox2
.Item(derligne, 3) = ComboBox12
.Item(derligne, 4) = TextBox5
End With

With [Tab_1]

If Not Result Is Nothing Then
End If
test = IsError([Tab_1[ID]].Find(ListBox10, LookIn:=xlValues))
If test = False Then MsgBox "Valeur non trouvée."
Set Result = [Tab_1[ID]].Find(ListBox10, LookIn:=xlValues)
position = Result.Row - .Row + 1
.Item(position, 6) = .Item(position, 6) - CDbl(TextBox8.Value)
End With
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re, bonjour Bruno,
Evidemment si vous testez Result avant de le calculer, ça va pas le faire.:)
Remplacez par :
VB:
With [Tab_1]
  test = IsError([Tab_1[ID]].Find(ListBox10, LookIn:=xlValues))
  If test = False Then MsgBox "Valeur non trouvée."
  Set Result = [Tab_1[ID]].Find(ListBox10, LookIn:=xlValues)
  position = Result.Row - .Row + 1
  .Item(position, 6) = .Item(position, 6) - CDbl(TextBox8.Value)
End With
Le but est simplement de savoir si l'erreur vient de là. Si c'est le cas on affinera.

Car il me donne l'erreur suivante
Très intéressant. Et laquelle ? 😅
 

Marvin57

XLDnaute Occasionnel
Re, bonjour Bruno,
Evidemment si vous testez Result avant de le calculer, ça va pas le faire.:)
Remplacez par :
VB:
With [Tab_1]
  test = IsError([Tab_1[ID]].Find(ListBox10, LookIn:=xlValues))
  If test = False Then MsgBox "Valeur non trouvée."
  Set Result = [Tab_1[ID]].Find(ListBox10, LookIn:=xlValues)
  position = Result.Row - .Row + 1
  .Item(position, 6) = .Item(position, 6) - CDbl(TextBox8.Value)
End With
Le but est simplement de savoir si l'erreur vient de là. Si c'est le cas on affinera.


Très intéressant. Et laquelle ? 😅
valeur non trouvée
 

Marvin57

XLDnaute Occasionnel
😅😅😅 ceci explique cela.
Que contient ListBox10 à ce moment, et que contient la cellule qu'il est censé trouvé ?
Peut être une erreur de syntaxe, peut être une chaine comme "123" comparé au nombre 123 ....
Re,

Bizzare !!
Je viens de refaire plusieurs essais et j'ai aussi refermé et ouvert à nouveau le fichier et Mystère ! plus aucune erreur !
Alors je vais voir si demain il fonctionne et je vous tiendrai informé OK.

Listbox10 contient les données d'une bas de stock et lors du click dans la listbox il m'affiche les données des articles du stock dans des textbox au-dessus de la listbox.

Merci en tout cas pour votre aide.👍👍

A + sylvanu

Et désolé BrunoM45, mais je n'arrive pas à comprendre tout dans ces codes, même si j'y m'intéresse toutes les semaines, mais bon, peut-être un jour....;)
 

Marvin57

XLDnaute Occasionnel
😅😅😅 ceci explique cela.
Que contient ListBox10 à ce moment, et que contient la cellule qu'il est censé trouvé ?
Peut être une erreur de syntaxe, peut être une chaine comme "123" comparé au nombre 123 ....
Bonjour sylvanu,

après plusieurs essais, dans tous les sens, tout fonctionne.:p

Merci beaucoup pour votre aide sur cette demande.👍👍

A bientôt certainement.

Marvin57
 

Discussions similaires

Réponses
15
Affichages
368
Réponses
5
Affichages
128
Réponses
2
Affichages
128
Réponses
93
Affichages
2 K
Réponses
17
Affichages
343
Réponses
2
Affichages
181
Réponses
0
Affichages
126
Réponses
9
Affichages
656
  • Résolu(e)
Microsoft 365 Formule SI
Réponses
8
Affichages
184

Statistiques des forums

Discussions
312 219
Messages
2 086 372
Membres
103 198
dernier inscrit
CACCIATORE