Bonjour,
je reviens pour un problème de perte de valeur, je m'explique, j'ai une
macro qui récupère les infos (variables A à G), de la ligne de la cellule
active de la feuille(1), les valeur A et B me serve à rechercher un
complèment (H) dans la feuille(2), puis tout doit-être affichée dans un
userForm .
Mais je perd la valeur de la variable(H) mais pas les autres valeurs (A à G)
lors de l'affichage du UserForm.
voici le code que j'ai mis dans le userform
Private Sub UserForm_Initialize()
On Error Resume Next
'1/ RECHERCHE de la "Qte Commandée" feuille "MouvementX"
Dim Lig As Integer
LigneSelec = ActiveCell.Row
txtDpt1 = Sheets("Documentation").Range("A1").Value 'Affichage du Dpt
'2/ Mise à jour des données du FORMULAIRE
txtQte = "1" 'Ititialisation de la quantité à 1
If txtDpt1 = 3 Then Qte = "F"
If txtDpt1 = 15 Then Qte = "G"
If txtDpt1 = 63 Then Qte = "H"
txtType = Sheets("Documentation").Range("E" & LigneSelec).Value
txtFamille = Sheets("Documentation").Range("A" & LigneSelec).Value
txtTheme = Sheets("Documentation").Range("B" & LigneSelec).Value
txtRef = Sheets("Documentation").Range("C" & LigneSelec).Value
txtTitre = Sheets("Documentation").Range("D" & LigneSelec).Value
'Parametre de recherche
txtFournisseur = Sheets("Documentation").Range("I" & LigneSelec).Value
txtDateCommande = Sheets("Documentation").Range("K" & LigneSelec).Value
'Parametre de recherche
txtStockOld = Sheets("Documentation").Range(Qte & LigneSelec).Value
txtQteReçu = 0
Call RechercheEltCommande(txtDpt1.Value, txtTitre.Value, txtQteCmd.Value,
txtDateCommande.Value)
End Sub
Sub RechercheEltCommande(txtDpt1 As String, txtTitre As String, txtQteCmd As
String, txtDateCommande As Date)
'3/ Recherche les éléments de la Commande
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 4) = txtTitre Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5) = txtDateCommande
Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig)
'valeur recherchée
End If
End If
Next
End Sub
résultat : txtQteCmd est bien récupérée en fonction des paramêtres
(txtTitre & txtDateCommande) , mais n'est pas affichée
Où est l'erreur ?
Bonjour,
je reviens pour un problème de perte de valeur, je m'explique, j'ai une
macro qui récupère les infos (variables A à G), de la ligne de la cellule
active de la feuille(1), les valeur A et B me serve à rechercher un
complèment (H) dans la feuille(2), puis tout doit-être affichée dans un
userForm .
Mais je perd la valeur de la variable(H) mais pas les autres valeurs (A à G)
lors de l'affichage du UserForm.
voici le code que j'ai mis dans le userform
Private Sub UserForm_Initialize()
On Error Resume Next
'1/ RECHERCHE de la "Qte Commandée" feuille "MouvementX"
Dim Lig As Integer
LigneSelec = ActiveCell.Row
txtDpt1 = Sheets("Documentation").Range("A1").Value 'Affichage du Dpt
'2/ Mise à jour des données du FORMULAIRE
txtQte = "1" 'Ititialisation de la quantité à 1
If txtDpt1 = 3 Then Qte = "F"
If txtDpt1 = 15 Then Qte = "G"
If txtDpt1 = 63 Then Qte = "H"
txtType = Sheets("Documentation").Range("E" & LigneSelec).Value
txtFamille = Sheets("Documentation").Range("A" & LigneSelec).Value
txtTheme = Sheets("Documentation").Range("B" & LigneSelec).Value
txtRef = Sheets("Documentation").Range("C" & LigneSelec).Value
txtTitre = Sheets("Documentation").Range("D" & LigneSelec).Value
'Parametre de recherche
txtFournisseur = Sheets("Documentation").Range("I" & LigneSelec).Value
txtDateCommande = Sheets("Documentation").Range("K" & LigneSelec).Value
'Parametre de recherche
txtStockOld = Sheets("Documentation").Range(Qte & LigneSelec).Value
txtQteReçu = 0
Call RechercheEltCommande(txtDpt1.Value, txtTitre.Value, txtQteCmd.Value,
txtDateCommande.Value)
End Sub
Sub RechercheEltCommande(txtDpt1 As String, txtTitre As String, txtQteCmd As
String, txtDateCommande As Date)
'3/ Recherche les éléments de la Commande
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 4) = txtTitre Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5) = txtDateCommande
Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig)
'valeur recherchée
End If
End If
Next
End Sub
résultat : txtQteCmd est bien récupérée en fonction des paramêtres
(txtTitre & txtDateCommande) , mais n'est pas affichée
Où est l'erreur ?
Bonjour,
je reviens pour un problème de perte de valeur, je m'explique, j'ai une
macro qui récupère les infos (variables A à G), de la ligne de la cellule
active de la feuille(1), les valeur A et B me serve à rechercher un
complèment (H) dans la feuille(2), puis tout doit-être affichée dans un
userForm .
Mais je perd la valeur de la variable(H) mais pas les autres valeurs (A à G)
lors de l'affichage du UserForm.
voici le code que j'ai mis dans le userform
Private Sub UserForm_Initialize()
On Error Resume Next
'1/ RECHERCHE de la "Qte Commandée" feuille "MouvementX"
Dim Lig As Integer
LigneSelec = ActiveCell.Row
txtDpt1 = Sheets("Documentation").Range("A1").Value 'Affichage du Dpt
'2/ Mise à jour des données du FORMULAIRE
txtQte = "1" 'Ititialisation de la quantité à 1
If txtDpt1 = 3 Then Qte = "F"
If txtDpt1 = 15 Then Qte = "G"
If txtDpt1 = 63 Then Qte = "H"
txtType = Sheets("Documentation").Range("E" & LigneSelec).Value
txtFamille = Sheets("Documentation").Range("A" & LigneSelec).Value
txtTheme = Sheets("Documentation").Range("B" & LigneSelec).Value
txtRef = Sheets("Documentation").Range("C" & LigneSelec).Value
txtTitre = Sheets("Documentation").Range("D" & LigneSelec).Value
'Parametre de recherche
txtFournisseur = Sheets("Documentation").Range("I" & LigneSelec).Value
txtDateCommande = Sheets("Documentation").Range("K" & LigneSelec).Value
'Parametre de recherche
txtStockOld = Sheets("Documentation").Range(Qte & LigneSelec).Value
txtQteReçu = 0
Call RechercheEltCommande(txtDpt1.Value, txtTitre.Value, txtQteCmd.Value,
txtDateCommande.Value)
End Sub
Sub RechercheEltCommande(txtDpt1 As String, txtTitre As String, txtQteCmd As
String, txtDateCommande As Date)
'3/ Recherche les éléments de la Commande
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 4) = txtTitre Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5) = txtDateCommande
Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig)
'valeur recherchée
End If
End If
Next
End Sub
résultat : txtQteCmd est bien récupérée en fonction des paramêtres
(txtTitre & txtDateCommande) , mais n'est pas affichée
Où est l'erreur ?
Sheets("Mouvement" & txtDpt).Range("E" & ligneAjout).Value = txtDate
'Date de la commande lors de la saisie
Sheets("Mouvement" & txtDpt).Range("E" & ligneAjout).Value =
Format(CDate(txtDate), "dd/m/yy")
Bonjour.
Pour que la valeur de l'objet txtQteCmd soit modifiée dans la procédure
appelée, il faut passer l'objet txtQteCmd et non sa valeur.
Donc remplacer
txtQteCmd As String (qui crée une nouvelle variable appelée txtQteCmd )
par
txtQteCmd As Object
Egalement, supprime temporairement la commande On Error Resume Next. Ca va
te permettre de détecter les erreurs dans ton code.
Call RechercheEltCommande(txtDpt1, txtTitre, txtQteCmd, txtDateCommande)
End Sub
Sub RechercheEltCommande(txtDpt1 As Object, txtTitre As Object, txtQteCmd
As Object, txtDateCommande As Object)
'3/ Recherche les éléments de la Commande
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If CStr(Sheets("Mouvement" & txtDpt1).Cells(Lig, 4)) = CStr(txtTitre)
Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5) = txtDateCommande
Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig)
'valeur recherchée
End If
End If
Next
End Sub
"mark Desnoyer" a écrit dans le message de
news: dq6mom$ejh$Bonjour,
je reviens pour un problème de perte de valeur, je m'explique, j'ai une
macro qui récupère les infos (variables A à G), de la ligne de la cellule
active de la feuille(1), les valeur A et B me serve à rechercher un
complèment (H) dans la feuille(2), puis tout doit-être affichée dans un
userForm .
Mais je perd la valeur de la variable(H) mais pas les autres valeurs (A à
G)
lors de l'affichage du UserForm.
voici le code que j'ai mis dans le userform
Private Sub UserForm_Initialize()
On Error Resume Next
'1/ RECHERCHE de la "Qte Commandée" feuille "MouvementX"
Dim Lig As Integer
LigneSelec = ActiveCell.Row
txtDpt1 = Sheets("Documentation").Range("A1").Value 'Affichage du Dpt
'2/ Mise à jour des données du FORMULAIRE
txtQte = "1" 'Ititialisation de la quantité à 1
If txtDpt1 = 3 Then Qte = "F"
If txtDpt1 = 15 Then Qte = "G"
If txtDpt1 = 63 Then Qte = "H"
txtType = Sheets("Documentation").Range("E" & LigneSelec).Value
txtFamille = Sheets("Documentation").Range("A" & LigneSelec).Value
txtTheme = Sheets("Documentation").Range("B" & LigneSelec).Value
txtRef = Sheets("Documentation").Range("C" & LigneSelec).Value
txtTitre = Sheets("Documentation").Range("D" & LigneSelec).Value
'Parametre de recherche
txtFournisseur = Sheets("Documentation").Range("I" & LigneSelec).Value
txtDateCommande = Sheets("Documentation").Range("K" & LigneSelec).Value
'Parametre de recherche
txtStockOld = Sheets("Documentation").Range(Qte & LigneSelec).Value
txtQteReçu = 0
Call RechercheEltCommande(txtDpt1.Value, txtTitre.Value, txtQteCmd.Value,
txtDateCommande.Value)
End Sub
Sub RechercheEltCommande(txtDpt1 As String, txtTitre As String, txtQteCmd
As
String, txtDateCommande As Date)
'3/ Recherche les éléments de la Commande
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 4) = txtTitre Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5) = txtDateCommande
Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig)
'valeur recherchée
End If
End If
Next
End Sub
résultat : txtQteCmd est bien récupérée en fonction des paramêtres
(txtTitre & txtDateCommande) , mais n'est pas affichée
Où est l'erreur ?
Sheets("Mouvement" & txtDpt).Range("E" & ligneAjout).Value = txtDate
'Date de la commande lors de la saisie
Sheets("Mouvement" & txtDpt).Range("E" & ligneAjout).Value =
Format(CDate(txtDate), "dd/m/yy")
Bonjour.
Pour que la valeur de l'objet txtQteCmd soit modifiée dans la procédure
appelée, il faut passer l'objet txtQteCmd et non sa valeur.
Donc remplacer
txtQteCmd As String (qui crée une nouvelle variable appelée txtQteCmd )
par
txtQteCmd As Object
Egalement, supprime temporairement la commande On Error Resume Next. Ca va
te permettre de détecter les erreurs dans ton code.
Call RechercheEltCommande(txtDpt1, txtTitre, txtQteCmd, txtDateCommande)
End Sub
Sub RechercheEltCommande(txtDpt1 As Object, txtTitre As Object, txtQteCmd
As Object, txtDateCommande As Object)
'3/ Recherche les éléments de la Commande
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If CStr(Sheets("Mouvement" & txtDpt1).Cells(Lig, 4)) = CStr(txtTitre)
Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5) = txtDateCommande
Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig)
'valeur recherchée
End If
End If
Next
End Sub
"mark Desnoyer" <mark.desnoyer@tiscali.fr> a écrit dans le message de
news: dq6mom$ejh$1@news.tiscali.fr...
Bonjour,
je reviens pour un problème de perte de valeur, je m'explique, j'ai une
macro qui récupère les infos (variables A à G), de la ligne de la cellule
active de la feuille(1), les valeur A et B me serve à rechercher un
complèment (H) dans la feuille(2), puis tout doit-être affichée dans un
userForm .
Mais je perd la valeur de la variable(H) mais pas les autres valeurs (A à
G)
lors de l'affichage du UserForm.
voici le code que j'ai mis dans le userform
Private Sub UserForm_Initialize()
On Error Resume Next
'1/ RECHERCHE de la "Qte Commandée" feuille "MouvementX"
Dim Lig As Integer
LigneSelec = ActiveCell.Row
txtDpt1 = Sheets("Documentation").Range("A1").Value 'Affichage du Dpt
'2/ Mise à jour des données du FORMULAIRE
txtQte = "1" 'Ititialisation de la quantité à 1
If txtDpt1 = 3 Then Qte = "F"
If txtDpt1 = 15 Then Qte = "G"
If txtDpt1 = 63 Then Qte = "H"
txtType = Sheets("Documentation").Range("E" & LigneSelec).Value
txtFamille = Sheets("Documentation").Range("A" & LigneSelec).Value
txtTheme = Sheets("Documentation").Range("B" & LigneSelec).Value
txtRef = Sheets("Documentation").Range("C" & LigneSelec).Value
txtTitre = Sheets("Documentation").Range("D" & LigneSelec).Value
'Parametre de recherche
txtFournisseur = Sheets("Documentation").Range("I" & LigneSelec).Value
txtDateCommande = Sheets("Documentation").Range("K" & LigneSelec).Value
'Parametre de recherche
txtStockOld = Sheets("Documentation").Range(Qte & LigneSelec).Value
txtQteReçu = 0
Call RechercheEltCommande(txtDpt1.Value, txtTitre.Value, txtQteCmd.Value,
txtDateCommande.Value)
End Sub
Sub RechercheEltCommande(txtDpt1 As String, txtTitre As String, txtQteCmd
As
String, txtDateCommande As Date)
'3/ Recherche les éléments de la Commande
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 4) = txtTitre Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5) = txtDateCommande
Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig)
'valeur recherchée
End If
End If
Next
End Sub
résultat : txtQteCmd est bien récupérée en fonction des paramêtres
(txtTitre & txtDateCommande) , mais n'est pas affichée
Où est l'erreur ?
Sheets("Mouvement" & txtDpt).Range("E" & ligneAjout).Value = txtDate
'Date de la commande lors de la saisie
Sheets("Mouvement" & txtDpt).Range("E" & ligneAjout).Value =
Format(CDate(txtDate), "dd/m/yy")
Bonjour.
Pour que la valeur de l'objet txtQteCmd soit modifiée dans la procédure
appelée, il faut passer l'objet txtQteCmd et non sa valeur.
Donc remplacer
txtQteCmd As String (qui crée une nouvelle variable appelée txtQteCmd )
par
txtQteCmd As Object
Egalement, supprime temporairement la commande On Error Resume Next. Ca va
te permettre de détecter les erreurs dans ton code.
Call RechercheEltCommande(txtDpt1, txtTitre, txtQteCmd, txtDateCommande)
End Sub
Sub RechercheEltCommande(txtDpt1 As Object, txtTitre As Object, txtQteCmd
As Object, txtDateCommande As Object)
'3/ Recherche les éléments de la Commande
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If CStr(Sheets("Mouvement" & txtDpt1).Cells(Lig, 4)) = CStr(txtTitre)
Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5) = txtDateCommande
Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig)
'valeur recherchée
End If
End If
Next
End Sub
"mark Desnoyer" a écrit dans le message de
news: dq6mom$ejh$Bonjour,
je reviens pour un problème de perte de valeur, je m'explique, j'ai une
macro qui récupère les infos (variables A à G), de la ligne de la cellule
active de la feuille(1), les valeur A et B me serve à rechercher un
complèment (H) dans la feuille(2), puis tout doit-être affichée dans un
userForm .
Mais je perd la valeur de la variable(H) mais pas les autres valeurs (A à
G)
lors de l'affichage du UserForm.
voici le code que j'ai mis dans le userform
Private Sub UserForm_Initialize()
On Error Resume Next
'1/ RECHERCHE de la "Qte Commandée" feuille "MouvementX"
Dim Lig As Integer
LigneSelec = ActiveCell.Row
txtDpt1 = Sheets("Documentation").Range("A1").Value 'Affichage du Dpt
'2/ Mise à jour des données du FORMULAIRE
txtQte = "1" 'Ititialisation de la quantité à 1
If txtDpt1 = 3 Then Qte = "F"
If txtDpt1 = 15 Then Qte = "G"
If txtDpt1 = 63 Then Qte = "H"
txtType = Sheets("Documentation").Range("E" & LigneSelec).Value
txtFamille = Sheets("Documentation").Range("A" & LigneSelec).Value
txtTheme = Sheets("Documentation").Range("B" & LigneSelec).Value
txtRef = Sheets("Documentation").Range("C" & LigneSelec).Value
txtTitre = Sheets("Documentation").Range("D" & LigneSelec).Value
'Parametre de recherche
txtFournisseur = Sheets("Documentation").Range("I" & LigneSelec).Value
txtDateCommande = Sheets("Documentation").Range("K" & LigneSelec).Value
'Parametre de recherche
txtStockOld = Sheets("Documentation").Range(Qte & LigneSelec).Value
txtQteReçu = 0
Call RechercheEltCommande(txtDpt1.Value, txtTitre.Value, txtQteCmd.Value,
txtDateCommande.Value)
End Sub
Sub RechercheEltCommande(txtDpt1 As String, txtTitre As String, txtQteCmd
As
String, txtDateCommande As Date)
'3/ Recherche les éléments de la Commande
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 4) = txtTitre Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5) = txtDateCommande
Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig)
'valeur recherchée
End If
End If
Next
End Sub
résultat : txtQteCmd est bien récupérée en fonction des paramêtres
(txtTitre & txtDateCommande) , mais n'est pas affichée
Où est l'erreur ?
Sheets("Mouvement" & txtDpt).Range("E" & ligneAjout).Value = txtDate
'Date de la commande lors de la saisie
Sheets("Mouvement" & txtDpt).Range("E" & ligneAjout).Value >> Format(CDate(txtDate), "dd/m/yy")
Bonjour.
Pour que la valeur de l'objet txtQteCmd soit modifiée dans la procédure
appelée, il faut passer l'objet txtQteCmd et non sa valeur.
Donc remplacer
txtQteCmd As String (qui crée une nouvelle variable appelée txtQteCmd )
par
txtQteCmd As Object
Egalement, supprime temporairement la commande On Error Resume Next. Ca va
te permettre de détecter les erreurs dans ton code.
Call RechercheEltCommande(txtDpt1, txtTitre, txtQteCmd, txtDateCommande)
End Sub
Sub RechercheEltCommande(txtDpt1 As Object, txtTitre As Object, txtQteCmd
As Object, txtDateCommande As Object)
'3/ Recherche les éléments de la Commande
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If CStr(Sheets("Mouvement" & txtDpt1).Cells(Lig, 4)) = CStr(txtTitre)
Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5) = txtDateCommande
Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig)
'valeur recherchée
End If
End If
Next
End Sub
"mark Desnoyer" a écrit dans le message de
news: dq6mom$ejh$Bonjour,
je reviens pour un problème de perte de valeur, je m'explique, j'ai une
macro qui récupère les infos (variables A à G), de la ligne de la cellule
active de la feuille(1), les valeur A et B me serve à rechercher un
complèment (H) dans la feuille(2), puis tout doit-être affichée dans un
userForm .
Mais je perd la valeur de la variable(H) mais pas les autres valeurs (A à
G)
lors de l'affichage du UserForm.
voici le code que j'ai mis dans le userform
Private Sub UserForm_Initialize()
On Error Resume Next
'1/ RECHERCHE de la "Qte Commandée" feuille "MouvementX"
Dim Lig As Integer
LigneSelec = ActiveCell.Row
txtDpt1 = Sheets("Documentation").Range("A1").Value 'Affichage du Dpt
'2/ Mise à jour des données du FORMULAIRE
txtQte = "1" 'Ititialisation de la quantité à 1
If txtDpt1 = 3 Then Qte = "F"
If txtDpt1 = 15 Then Qte = "G"
If txtDpt1 = 63 Then Qte = "H"
txtType = Sheets("Documentation").Range("E" & LigneSelec).Value
txtFamille = Sheets("Documentation").Range("A" & LigneSelec).Value
txtTheme = Sheets("Documentation").Range("B" & LigneSelec).Value
txtRef = Sheets("Documentation").Range("C" & LigneSelec).Value
txtTitre = Sheets("Documentation").Range("D" & LigneSelec).Value
'Parametre de recherche
txtFournisseur = Sheets("Documentation").Range("I" & LigneSelec).Value
txtDateCommande = Sheets("Documentation").Range("K" & LigneSelec).Value
'Parametre de recherche
txtStockOld = Sheets("Documentation").Range(Qte & LigneSelec).Value
txtQteReçu = 0
Call RechercheEltCommande(txtDpt1.Value, txtTitre.Value, txtQteCmd.Value,
txtDateCommande.Value)
End Sub
Sub RechercheEltCommande(txtDpt1 As String, txtTitre As String, txtQteCmd
As
String, txtDateCommande As Date)
'3/ Recherche les éléments de la Commande
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 4) = txtTitre Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5) = txtDateCommande
Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig)
'valeur recherchée
End If
End If
Next
End Sub
résultat : txtQteCmd est bien récupérée en fonction des paramêtres
(txtTitre & txtDateCommande) , mais n'est pas affichée
Où est l'erreur ?
Sheets("Mouvement" & txtDpt).Range("E" & ligneAjout).Value = txtDate
'Date de la commande lors de la saisie
Sheets("Mouvement" & txtDpt).Range("E" & ligneAjout).Value >> Format(CDate(txtDate), "dd/m/yy")
Bonjour.
Pour que la valeur de l'objet txtQteCmd soit modifiée dans la procédure
appelée, il faut passer l'objet txtQteCmd et non sa valeur.
Donc remplacer
txtQteCmd As String (qui crée une nouvelle variable appelée txtQteCmd )
par
txtQteCmd As Object
Egalement, supprime temporairement la commande On Error Resume Next. Ca va
te permettre de détecter les erreurs dans ton code.
Call RechercheEltCommande(txtDpt1, txtTitre, txtQteCmd, txtDateCommande)
End Sub
Sub RechercheEltCommande(txtDpt1 As Object, txtTitre As Object, txtQteCmd
As Object, txtDateCommande As Object)
'3/ Recherche les éléments de la Commande
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If CStr(Sheets("Mouvement" & txtDpt1).Cells(Lig, 4)) = CStr(txtTitre)
Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5) = txtDateCommande
Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig)
'valeur recherchée
End If
End If
Next
End Sub
"mark Desnoyer" <mark.desnoyer@tiscali.fr> a écrit dans le message de
news: dq6mom$ejh$1@news.tiscali.fr...
Bonjour,
je reviens pour un problème de perte de valeur, je m'explique, j'ai une
macro qui récupère les infos (variables A à G), de la ligne de la cellule
active de la feuille(1), les valeur A et B me serve à rechercher un
complèment (H) dans la feuille(2), puis tout doit-être affichée dans un
userForm .
Mais je perd la valeur de la variable(H) mais pas les autres valeurs (A à
G)
lors de l'affichage du UserForm.
voici le code que j'ai mis dans le userform
Private Sub UserForm_Initialize()
On Error Resume Next
'1/ RECHERCHE de la "Qte Commandée" feuille "MouvementX"
Dim Lig As Integer
LigneSelec = ActiveCell.Row
txtDpt1 = Sheets("Documentation").Range("A1").Value 'Affichage du Dpt
'2/ Mise à jour des données du FORMULAIRE
txtQte = "1" 'Ititialisation de la quantité à 1
If txtDpt1 = 3 Then Qte = "F"
If txtDpt1 = 15 Then Qte = "G"
If txtDpt1 = 63 Then Qte = "H"
txtType = Sheets("Documentation").Range("E" & LigneSelec).Value
txtFamille = Sheets("Documentation").Range("A" & LigneSelec).Value
txtTheme = Sheets("Documentation").Range("B" & LigneSelec).Value
txtRef = Sheets("Documentation").Range("C" & LigneSelec).Value
txtTitre = Sheets("Documentation").Range("D" & LigneSelec).Value
'Parametre de recherche
txtFournisseur = Sheets("Documentation").Range("I" & LigneSelec).Value
txtDateCommande = Sheets("Documentation").Range("K" & LigneSelec).Value
'Parametre de recherche
txtStockOld = Sheets("Documentation").Range(Qte & LigneSelec).Value
txtQteReçu = 0
Call RechercheEltCommande(txtDpt1.Value, txtTitre.Value, txtQteCmd.Value,
txtDateCommande.Value)
End Sub
Sub RechercheEltCommande(txtDpt1 As String, txtTitre As String, txtQteCmd
As
String, txtDateCommande As Date)
'3/ Recherche les éléments de la Commande
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 4) = txtTitre Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5) = txtDateCommande
Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig)
'valeur recherchée
End If
End If
Next
End Sub
résultat : txtQteCmd est bien récupérée en fonction des paramêtres
(txtTitre & txtDateCommande) , mais n'est pas affichée
Où est l'erreur ?
Sheets("Mouvement" & txtDpt).Range("E" & ligneAjout).Value = txtDate
'Date de la commande lors de la saisie
Sheets("Mouvement" & txtDpt).Range("E" & ligneAjout).Value >> Format(CDate(txtDate), "dd/m/yy")
Bonjour.
Pour que la valeur de l'objet txtQteCmd soit modifiée dans la procédure
appelée, il faut passer l'objet txtQteCmd et non sa valeur.
Donc remplacer
txtQteCmd As String (qui crée une nouvelle variable appelée txtQteCmd )
par
txtQteCmd As Object
Egalement, supprime temporairement la commande On Error Resume Next. Ca va
te permettre de détecter les erreurs dans ton code.
Call RechercheEltCommande(txtDpt1, txtTitre, txtQteCmd, txtDateCommande)
End Sub
Sub RechercheEltCommande(txtDpt1 As Object, txtTitre As Object, txtQteCmd
As Object, txtDateCommande As Object)
'3/ Recherche les éléments de la Commande
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If CStr(Sheets("Mouvement" & txtDpt1).Cells(Lig, 4)) = CStr(txtTitre)
Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5) = txtDateCommande
Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig)
'valeur recherchée
End If
End If
Next
End Sub
"mark Desnoyer" a écrit dans le message de
news: dq6mom$ejh$Bonjour,
je reviens pour un problème de perte de valeur, je m'explique, j'ai une
macro qui récupère les infos (variables A à G), de la ligne de la cellule
active de la feuille(1), les valeur A et B me serve à rechercher un
complèment (H) dans la feuille(2), puis tout doit-être affichée dans un
userForm .
Mais je perd la valeur de la variable(H) mais pas les autres valeurs (A à
G)
lors de l'affichage du UserForm.
voici le code que j'ai mis dans le userform
Private Sub UserForm_Initialize()
On Error Resume Next
'1/ RECHERCHE de la "Qte Commandée" feuille "MouvementX"
Dim Lig As Integer
LigneSelec = ActiveCell.Row
txtDpt1 = Sheets("Documentation").Range("A1").Value 'Affichage du Dpt
'2/ Mise à jour des données du FORMULAIRE
txtQte = "1" 'Ititialisation de la quantité à 1
If txtDpt1 = 3 Then Qte = "F"
If txtDpt1 = 15 Then Qte = "G"
If txtDpt1 = 63 Then Qte = "H"
txtType = Sheets("Documentation").Range("E" & LigneSelec).Value
txtFamille = Sheets("Documentation").Range("A" & LigneSelec).Value
txtTheme = Sheets("Documentation").Range("B" & LigneSelec).Value
txtRef = Sheets("Documentation").Range("C" & LigneSelec).Value
txtTitre = Sheets("Documentation").Range("D" & LigneSelec).Value
'Parametre de recherche
txtFournisseur = Sheets("Documentation").Range("I" & LigneSelec).Value
txtDateCommande = Sheets("Documentation").Range("K" & LigneSelec).Value
'Parametre de recherche
txtStockOld = Sheets("Documentation").Range(Qte & LigneSelec).Value
txtQteReçu = 0
Call RechercheEltCommande(txtDpt1.Value, txtTitre.Value, txtQteCmd.Value,
txtDateCommande.Value)
End Sub
Sub RechercheEltCommande(txtDpt1 As String, txtTitre As String, txtQteCmd
As
String, txtDateCommande As Date)
'3/ Recherche les éléments de la Commande
Sheets("Mouvement" & txtDpt1).Select
For Lig = 2 To Sheets("Mouvement" & txtDpt1).[D65000].End(xlUp).Row
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 4) = txtTitre Then
If Sheets("Mouvement" & txtDpt1).Cells(Lig, 5) = txtDateCommande
Then
txtQteCmd = Sheets("Mouvement" & txtDpt1).Range("G" & Lig)
'valeur recherchée
End If
End If
Next
End Sub
résultat : txtQteCmd est bien récupérée en fonction des paramêtres
(txtTitre & txtDateCommande) , mais n'est pas affichée
Où est l'erreur ?