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

Formulaire et données filtrées à récupérer

8 réponses
Avatar
Françoise
Bonjour à tous,

je bloque et rebloque sur certainement pas grand chose, mais bon j'y vois
plus d'où mon appel à l'aide !

j'ai un formulaire qui liste dans une ListView1 toutes les refs de mes
articles en stock sur une feuille STOCK

Jusque là tout va bien
Quand je clique sur une Ref dans la ListBoxArticles, je veux lister dans le
formulaire UsfDetailArticle, la liste des sorties pour cet article qui est
contenue dans la feuille SORTIES de mon classeur

je me suis appuyée sur un modèle de Flo Cabon qui fonctionne parfaitement,
mais voilà à chaque fois, j'ai le même code erreur "erreur d'exécution 1004 -
la méthode range de l'objet global a échoué sur ma ligne de code :
Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:=False
====================
voici le code du formulaire :
==
Private Sub ListBoxArticles_Click()
'dès que l'on clique sur l'article, on affiche dans le formulaire
usfDetailArticle les entrées et sorties de stock de l'article
NumArticle = ListBoxArticles.Value

With Sheets("SORTIES").Range("A:A")
'on commence par rechercher dans la feuille des sorties le N° de ligne
correspondant à l'article sélectionné
Set c = .Find(NumArticle, LookIn:=xlValues, LookAt:=xlWhole)
'la variable Lig, correspondant au numéro de la ligne trouvée, est définie
comme une variable
'publique dans le module général déclarations. Ceci permet de passer sa
valeur d'un userform à un autre.

If Not c Is Nothing Then Lig = c.Row
End With

Dim Critere As String


If NumArticle <> -1 Then
Critere = Critere & "(SORTIES!A2 = """ & NumArticle & """) * "
End If

'à ce stade le critère se termine par *... On ajoute donc un 1. Un critère
renvoie normalement
'vrai ou faux. En le multipliant par 1 il renvoie 1 ou 0 ce qui est
inter^rété de la même façon par excel.
Critere = "=" & Critere & "1"
Sheets("FILTRE SORTIES").Range("A2").Value = Critere


'on utilise ensuite les critères de choix dans un filtre élaboré sur une
feuille masquée
Sheets("FILTRE SORTIES").Activate
Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:=False
'Si aucune sortie ne correspond à l'article sélectionné
If Range("FILTRE SORTIES!A5").Value = "" Then
MsgBox ("Aucune sortie pour ce produit")
'S'il y a plus d'une sortie répondant au critère autrement dit si B6 non vide
'on réaffiche les sorties dans une zone de liste
'pour cela on nomme "Fiches Filtrées" la plage contenant les sorties de
l'article sélectionné.


ElseIf Range("FILTRE SORTIES!A6").Value <> "" Then
ActiveWorkbook.Names.Add Name:="FichesFiltrées", RefersToR1C1:= _
"=OFFSET(FILTRE SORTIES!R5C1,,,COUNTA(FILTRE SORTIES!C1)-1)"

'sinon on récupère son numéro de ligne et on affiche la fiche article dans
le userform UsfDetailArticle
Else
NumArticle = Range("A5").Value
With Sheets("SORTIES").Range("A:A")
Set c = .Find(NumArticle, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then Lig = c.Row
End With
UsfDetailArticle.Show

End If

End Sub
==================
Quelqu'un a t il une idée de ce qui coince ?
d'avance merci à tous

8 réponses

Avatar
Daniel.C
Bonjour.
Ca serait bien que tu mettes ton classeur sur www.cjoint.com et que tu
postes ici l'adresse générée. Efface auparavant les données
confidentielles.
Cordialement.
Daniel

Bonjour à tous,

je bloque et rebloque sur certainement pas grand chose, mais bon j'y vois
plus d'où mon appel à l'aide !

j'ai un formulaire qui liste dans une ListView1 toutes les refs de mes
articles en stock sur une feuille STOCK

Jusque là tout va bien
Quand je clique sur une Ref dans la ListBoxArticles, je veux lister dans le
formulaire UsfDetailArticle, la liste des sorties pour cet article qui est
contenue dans la feuille SORTIES de mon classeur

je me suis appuyée sur un modèle de Flo Cabon qui fonctionne parfaitement,
mais voilà à chaque fois, j'ai le même code erreur "erreur d'exécution 1004 -
la méthode range de l'objet global a échoué sur ma ligne de code :
Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:úlse
=================== > voici le code du formulaire :
= > Private Sub ListBoxArticles_Click()
'dès que l'on clique sur l'article, on affiche dans le formulaire
usfDetailArticle les entrées et sorties de stock de l'article
NumArticle = ListBoxArticles.Value

With Sheets("SORTIES").Range("A:A")
'on commence par rechercher dans la feuille des sorties le N° de ligne
correspondant à l'article sélectionné
Set c = .Find(NumArticle, LookIn:=xlValues, LookAt:=xlWhole)
'la variable Lig, correspondant au numéro de la ligne trouvée, est définie
comme une variable
'publique dans le module général déclarations. Ceci permet de passer sa
valeur d'un userform à un autre.

If Not c Is Nothing Then Lig = c.Row
End With

Dim Critere As String


If NumArticle <> -1 Then
Critere = Critere & "(SORTIES!A2 = """ & NumArticle & """) * "
End If

'à ce stade le critère se termine par *... On ajoute donc un 1. Un critère
renvoie normalement
'vrai ou faux. En le multipliant par 1 il renvoie 1 ou 0 ce qui est
inter^rété de la même façon par excel.
Critere = "=" & Critere & "1"
Sheets("FILTRE SORTIES").Range("A2").Value = Critere


'on utilise ensuite les critères de choix dans un filtre élaboré sur une
feuille masquée
Sheets("FILTRE SORTIES").Activate
Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:úlse
'Si aucune sortie ne correspond à l'article sélectionné
If Range("FILTRE SORTIES!A5").Value = "" Then
MsgBox ("Aucune sortie pour ce produit")
'S'il y a plus d'une sortie répondant au critère autrement dit si B6 non vide
'on réaffiche les sorties dans une zone de liste
'pour cela on nomme "Fiches Filtrées" la plage contenant les sorties de
l'article sélectionné.


ElseIf Range("FILTRE SORTIES!A6").Value <> "" Then
ActiveWorkbook.Names.Add Name:="FichesFiltrées", RefersToR1C1:= _
"=OFFSET(FILTRE SORTIES!R5C1,,,COUNTA(FILTRE SORTIES!C1)-1)"

'sinon on récupère son numéro de ligne et on affiche la fiche article dans
le userform UsfDetailArticle
Else
NumArticle = Range("A5").Value
With Sheets("SORTIES").Range("A:A")
Set c = .Find(NumArticle, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then Lig = c.Row
End With
UsfDetailArticle.Show

End If

End Sub
================= > Quelqu'un a t il une idée de ce qui coince ?
d'avance merci à tous


Avatar
MichDenis
Dans cette ligne de code :
Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:úlse

Devant chaque item Range, met le nom de la feuille auquel appartient
l'objet "Range". Évidemment tu adaptes "NomFeuille" pour le nom
véritable de l'onglet de la feuille désignée.

Worksheets("NomFeuille").Range("zonebdd").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Worksheets("NomFeuille").Range("A1:A2"), _
CopyToRange:=Worksheets("NomFeuille").Range("A4:O4"), Unique:úlse





"Françoise" a écrit dans le message de groupe de
discussion :
Bonjour à tous,

je bloque et rebloque sur certainement pas grand chose, mais bon j'y vois
plus d'où mon appel à l'aide !

j'ai un formulaire qui liste dans une ListView1 toutes les refs de mes
articles en stock sur une feuille STOCK

Jusque là tout va bien
Quand je clique sur une Ref dans la ListBoxArticles, je veux lister dans le
formulaire UsfDetailArticle, la liste des sorties pour cet article qui est
contenue dans la feuille SORTIES de mon classeur

je me suis appuyée sur un modèle de Flo Cabon qui fonctionne parfaitement,
mais voilà à chaque fois, j'ai le même code erreur "erreur d'exécution 1004 -
la méthode range de l'objet global a échoué sur ma ligne de code :
Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:úlse
=================== voici le code du formulaire :
= Private Sub ListBoxArticles_Click()
'dès que l'on clique sur l'article, on affiche dans le formulaire
usfDetailArticle les entrées et sorties de stock de l'article
NumArticle = ListBoxArticles.Value

With Sheets("SORTIES").Range("A:A")
'on commence par rechercher dans la feuille des sorties le N° de ligne
correspondant à l'article sélectionné
Set c = .Find(NumArticle, LookIn:=xlValues, LookAt:=xlWhole)
'la variable Lig, correspondant au numéro de la ligne trouvée, est définie
comme une variable
'publique dans le module général déclarations. Ceci permet de passer sa
valeur d'un userform à un autre.

If Not c Is Nothing Then Lig = c.Row
End With

Dim Critere As String


If NumArticle <> -1 Then
Critere = Critere & "(SORTIES!A2 = """ & NumArticle & """) * "
End If

'à ce stade le critère se termine par *... On ajoute donc un 1. Un critère
renvoie normalement
'vrai ou faux. En le multipliant par 1 il renvoie 1 ou 0 ce qui est
inter^rété de la même façon par excel.
Critere = "=" & Critere & "1"
Sheets("FILTRE SORTIES").Range("A2").Value = Critere


'on utilise ensuite les critères de choix dans un filtre élaboré sur une
feuille masquée
Sheets("FILTRE SORTIES").Activate
Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:úlse
'Si aucune sortie ne correspond à l'article sélectionné
If Range("FILTRE SORTIES!A5").Value = "" Then
MsgBox ("Aucune sortie pour ce produit")
'S'il y a plus d'une sortie répondant au critère autrement dit si B6 non vide
'on réaffiche les sorties dans une zone de liste
'pour cela on nomme "Fiches Filtrées" la plage contenant les sorties de
l'article sélectionné.


ElseIf Range("FILTRE SORTIES!A6").Value <> "" Then
ActiveWorkbook.Names.Add Name:="FichesFiltrées", RefersToR1C1:= _
"=OFFSET(FILTRE SORTIES!R5C1,,,COUNTA(FILTRE SORTIES!C1)-1)"

'sinon on récupère son numéro de ligne et on affiche la fiche article dans
le userform UsfDetailArticle
Else
NumArticle = Range("A5").Value
With Sheets("SORTIES").Range("A:A")
Set c = .Find(NumArticle, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then Lig = c.Row
End With
UsfDetailArticle.Show

End If

End Sub
================= Quelqu'un a t il une idée de ce qui coince ?
d'avance merci à tous
Avatar
Françoise
Merci à tous les deux pour votre aide, j'ai testé le code de MichDenis, mais
toujours la même erreur, aussi sur le conseil de Daniel je vous joins le
fichier pour voir ce qui cloche, j'avoue que je n'y vois plus rien !

http://www.cijoint.fr/cjlink.php?file=cj200903/cijCMrLV3f.xls

d'avance merci

"MichDenis" a écrit :

Dans cette ligne de code :
Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:úlse

Devant chaque item Range, met le nom de la feuille auquel appartient
l'objet "Range". videmment tu adaptes "NomFeuille" pour le nom
vritable de l'onglet de la feuille dsigne.

Worksheets("NomFeuille").Range("zonebdd").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Worksheets("NomFeuille").Range("A1:A2"), _
CopyToRange:=Worksheets("NomFeuille").Range("A4:O4"), Unique:úlse





"Franoise" a crit dans le message de groupe de
discussion :
Bonjour tous,

je bloque et rebloque sur certainement pas grand chose, mais bon j'y vois
plus d'o mon appel l'aide !

j'ai un formulaire qui liste dans une ListView1 toutes les refs de mes
articles en stock sur une feuille STOCK

Jusque l tout va bien
Quand je clique sur une Ref dans la ListBoxArticles, je veux lister dans le
formulaire UsfDetailArticle, la liste des sorties pour cet article qui est
contenue dans la feuille SORTIES de mon classeur

je me suis appuye sur un modle de Flo Cabon qui fonctionne parfaitement,
mais voil chaque fois, j'ai le mme code erreur "erreur d'excution 1004 -
la mthode range de l'objet global a chou sur ma ligne de code :
Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:úlse
=================== > voici le code du formulaire :
= > Private Sub ListBoxArticles_Click()
'ds que l'on clique sur l'article, on affiche dans le formulaire
usfDetailArticle les entres et sorties de stock de l'article
NumArticle = ListBoxArticles.Value

With Sheets("SORTIES").Range("A:A")
'on commence par rechercher dans la feuille des sorties le N de ligne
correspondant l'article slectionn
Set c = .Find(NumArticle, LookIn:=xlValues, LookAt:=xlWhole)
'la variable Lig, correspondant au numro de la ligne trouve, est dfinie
comme une variable
'publique dans le module gnral dclarations. Ceci permet de passer sa
valeur d'un userform un autre.

If Not c Is Nothing Then Lig = c.Row
End With

Dim Critere As String


If NumArticle <> -1 Then
Critere = Critere & "(SORTIES!A2 = """ & NumArticle & """) * "
End If

' ce stade le critre se termine par *... On ajoute donc un 1. Un critre
renvoie normalement
'vrai ou faux. En le multipliant par 1 il renvoie 1 ou 0 ce qui est
inter^rt de la mme faon par excel.
Critere = "=" & Critere & "1"
Sheets("FILTRE SORTIES").Range("A2").Value = Critere


'on utilise ensuite les critres de choix dans un filtre labor sur une
feuille masque
Sheets("FILTRE SORTIES").Activate
Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:úlse
'Si aucune sortie ne correspond l'article slectionn
If Range("FILTRE SORTIES!A5").Value = "" Then
MsgBox ("Aucune sortie pour ce produit")
'S'il y a plus d'une sortie rpondant au critre autrement dit si B6 non vide
'on raffiche les sorties dans une zone de liste
'pour cela on nomme "Fiches Filtres" la plage contenant les sorties de
l'article slectionn.


ElseIf Range("FILTRE SORTIES!A6").Value <> "" Then
ActiveWorkbook.Names.Add Name:="FichesFiltres", RefersToR1C1:= _
"=OFFSET(FILTRE SORTIES!R5C1,,,COUNTA(FILTRE SORTIES!C1)-1)"

'sinon on rcupre son numro de ligne et on affiche la fiche article dans
le userform UsfDetailArticle
Else
NumArticle = Range("A5").Value
With Sheets("SORTIES").Range("A:A")
Set c = .Find(NumArticle, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then Lig = c.Row
End With
UsfDetailArticle.Show

End If

End Sub
================= > Quelqu'un a t il une ide de ce qui coince ?
d'avance merci tous




Avatar
MichDenis
| Worksheets("FILTRE SORTIES").Range("zonebdd")

Dans ladite feuille, Il n'y a pas de plage "zonebdd" dans la feuille
voir dans le classeur. Dans un tel cas, il est difficile que cela fonctionne !
(le classeur a été ouvert pas excel 2007)

En passant, un filtre élaboré requiert obligatoirement des étiquettes de colonnes.





"Françoise" a écrit dans le message de groupe de
discussion :
Merci à tous les deux pour votre aide, j'ai testé le code de MichDenis, mais
toujours la même erreur, aussi sur le conseil de Daniel je vous joins le
fichier pour voir ce qui cloche, j'avoue que je n'y vois plus rien !

http://www.cijoint.fr/cjlink.php?file=cj200903/cijCMrLV3f.xls

d'avance merci

"MichDenis" a écrit :

Dans cette ligne de code :
Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:úlse

Devant chaque item Range, met le nom de la feuille auquel appartient
l'objet "Range". videmment tu adaptes "NomFeuille" pour le nom
vritable de l'onglet de la feuille dsigne.

Worksheets("NomFeuille").Range("zonebdd").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Worksheets("NomFeuille").Range("A1:A2"), _
CopyToRange:=Worksheets("NomFeuille").Range("A4:O4"), Unique:úlse





"Franoise" a crit dans le message de groupe de
discussion :
Bonjour tous,

je bloque et rebloque sur certainement pas grand chose, mais bon j'y vois
plus d'o mon appel l'aide !

j'ai un formulaire qui liste dans une ListView1 toutes les refs de mes
articles en stock sur une feuille STOCK

Jusque l tout va bien
Quand je clique sur une Ref dans la ListBoxArticles, je veux lister dans le
formulaire UsfDetailArticle, la liste des sorties pour cet article qui est
contenue dans la feuille SORTIES de mon classeur

je me suis appuye sur un modle de Flo Cabon qui fonctionne parfaitement,
mais voil chaque fois, j'ai le mme code erreur "erreur d'excution 1004 -
la mthode range de l'objet global a chou sur ma ligne de code :
Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:úlse
=================== > voici le code du formulaire :
= > Private Sub ListBoxArticles_Click()
'ds que l'on clique sur l'article, on affiche dans le formulaire
usfDetailArticle les entres et sorties de stock de l'article
NumArticle = ListBoxArticles.Value

With Sheets("SORTIES").Range("A:A")
'on commence par rechercher dans la feuille des sorties le N de ligne
correspondant l'article slectionn
Set c = .Find(NumArticle, LookIn:=xlValues, LookAt:=xlWhole)
'la variable Lig, correspondant au numro de la ligne trouve, est dfinie
comme une variable
'publique dans le module gnral dclarations. Ceci permet de passer sa
valeur d'un userform un autre.

If Not c Is Nothing Then Lig = c.Row
End With

Dim Critere As String


If NumArticle <> -1 Then
Critere = Critere & "(SORTIES!A2 = """ & NumArticle & """) * "
End If

' ce stade le critre se termine par *... On ajoute donc un 1. Un critre
renvoie normalement
'vrai ou faux. En le multipliant par 1 il renvoie 1 ou 0 ce qui est
inter^rt de la mme faon par excel.
Critere = "=" & Critere & "1"
Sheets("FILTRE SORTIES").Range("A2").Value = Critere


'on utilise ensuite les critres de choix dans un filtre labor sur une
feuille masque
Sheets("FILTRE SORTIES").Activate
Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:úlse
'Si aucune sortie ne correspond l'article slectionn
If Range("FILTRE SORTIES!A5").Value = "" Then
MsgBox ("Aucune sortie pour ce produit")
'S'il y a plus d'une sortie rpondant au critre autrement dit si B6 non vide
'on raffiche les sorties dans une zone de liste
'pour cela on nomme "Fiches Filtres" la plage contenant les sorties de
l'article slectionn.


ElseIf Range("FILTRE SORTIES!A6").Value <> "" Then
ActiveWorkbook.Names.Add Name:="FichesFiltres", RefersToR1C1:= _
"=OFFSET(FILTRE SORTIES!R5C1,,,COUNTA(FILTRE SORTIES!C1)-1)"

'sinon on rcupre son numro de ligne et on affiche la fiche article dans
le userform UsfDetailArticle
Else
NumArticle = Range("A5").Value
With Sheets("SORTIES").Range("A:A")
Set c = .Find(NumArticle, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then Lig = c.Row
End With
UsfDetailArticle.Show

End If

End Sub
================= > Quelqu'un a t il une ide de ce qui coince ?
d'avance merci tous




Avatar
Françoise
bon c'est vrai j'ai du mal !


peux-tu me remettre le fichier modifiée avec les modifs dont tu parles sur
ci-joint cela me permettrait de mieux comprendre et de gagner du temps sur
mon exemple concret
je fais des tests mais n'arrive pas à faire les extractions correctement

je travaille avec EXCEL 2003

d'avance merci pour ton aide


"MichDenis" a écrit :

| Worksheets("FILTRE SORTIES").Range("zonebdd")

Dans ladite feuille, Il n'y a pas de plage "zonebdd" dans la feuille
voir dans le classeur. Dans un tel cas, il est difficile que cela fonctionne !
(le classeur a t ouvert pas excel 2007)

En passant, un filtre labor requiert obligatoirement des tiquettes de colonnes.





"Franoise" a crit dans le message de groupe de
discussion :
Merci tous les deux pour votre aide, j'ai test le code de MichDenis, mais
toujours la mme erreur, aussi sur le conseil de Daniel je vous joins le
fichier pour voir ce qui cloche, j'avoue que je n'y vois plus rien !

http://www.cijoint.fr/cjlink.php?file=cj200903/cijCMrLV3f.xls

d'avance merci

"MichDenis" a crit :

> Dans cette ligne de code :
> Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
> CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:úlse
>
> Devant chaque item Range, met le nom de la feuille auquel appartient
> l'objet "Range". videmment tu adaptes "NomFeuille" pour le nom
> vritable de l'onglet de la feuille dsigne.
>
> Worksheets("NomFeuille").Range("zonebdd").AdvancedFilter Action:=xlFilterCopy, _
> CriteriaRange:=Worksheets("NomFeuille").Range("A1:A2"), _
> CopyToRange:=Worksheets("NomFeuille").Range("A4:O4"), Unique:úlse
>
>
>
>
>
> "Franoise" a crit dans le message de groupe de
> discussion :
> Bonjour tous,
>
> je bloque et rebloque sur certainement pas grand chose, mais bon j'y vois
> plus d'o mon appel l'aide !
>
> j'ai un formulaire qui liste dans une ListView1 toutes les refs de mes
> articles en stock sur une feuille STOCK
>
> Jusque l tout va bien
> Quand je clique sur une Ref dans la ListBoxArticles, je veux lister dans le
> formulaire UsfDetailArticle, la liste des sorties pour cet article qui est
> contenue dans la feuille SORTIES de mon classeur
>
> je me suis appuye sur un modle de Flo Cabon qui fonctionne parfaitement,
> mais voil chaque fois, j'ai le mme code erreur "erreur d'excution 1004 -
> la mthode range de l'objet global a chou sur ma ligne de code :
> Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
> CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:úlse
> =================== > > voici le code du formulaire :
> = > > Private Sub ListBoxArticles_Click()
> 'ds que l'on clique sur l'article, on affiche dans le formulaire
> usfDetailArticle les entres et sorties de stock de l'article
> NumArticle = ListBoxArticles.Value
>
> With Sheets("SORTIES").Range("A:A")
> 'on commence par rechercher dans la feuille des sorties le N de ligne
> correspondant l'article slectionn
> Set c = .Find(NumArticle, LookIn:=xlValues, LookAt:=xlWhole)
> 'la variable Lig, correspondant au numro de la ligne trouve, est dfinie
> comme une variable
> 'publique dans le module gnral dclarations. Ceci permet de passer sa
> valeur d'un userform un autre.
>
> If Not c Is Nothing Then Lig = c.Row
> End With
>
> Dim Critere As String
>
>
> If NumArticle <> -1 Then
> Critere = Critere & "(SORTIES!A2 = """ & NumArticle & """) * "
> End If
>
> ' ce stade le critre se termine par *... On ajoute donc un 1. Un critre
> renvoie normalement
> 'vrai ou faux. En le multipliant par 1 il renvoie 1 ou 0 ce qui est
> inter^rt de la mme faon par excel.
> Critere = "=" & Critere & "1"
> Sheets("FILTRE SORTIES").Range("A2").Value = Critere
>
>
> 'on utilise ensuite les critres de choix dans un filtre labor sur une
> feuille masque
> Sheets("FILTRE SORTIES").Activate
> Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
> CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:úlse
> 'Si aucune sortie ne correspond l'article slectionn
> If Range("FILTRE SORTIES!A5").Value = "" Then
> MsgBox ("Aucune sortie pour ce produit")
> 'S'il y a plus d'une sortie rpondant au critre autrement dit si B6 non vide
> 'on raffiche les sorties dans une zone de liste
> 'pour cela on nomme "Fiches Filtres" la plage contenant les sorties de
> l'article slectionn.
>
>
> ElseIf Range("FILTRE SORTIES!A6").Value <> "" Then
> ActiveWorkbook.Names.Add Name:="FichesFiltres", RefersToR1C1:= _
> "=OFFSET(FILTRE SORTIES!R5C1,,,COUNTA(FILTRE SORTIES!C1)-1)"
>
> 'sinon on rcupre son numro de ligne et on affiche la fiche article dans
> le userform UsfDetailArticle
> Else
> NumArticle = Range("A5").Value
> With Sheets("SORTIES").Range("A:A")
> Set c = .Find(NumArticle, LookIn:=xlValues, LookAt:=xlWhole)
> If Not c Is Nothing Then Lig = c.Row
> End With
> UsfDetailArticle.Show
>
> End If
>
> End Sub
> ================= > > Quelqu'un a t il une ide de ce qui coince ?
> d'avance merci tous
>
>



Avatar
MichDenis
Un exemple d'un code d'un filtre élaboré
en supposant que la plage source des données. la zone
de critère et la plage de résultat se situe sur la même feuille.

Tu dois adapter le nom de la feuille et l'adresse de la plage
où se situe les données dans la feuille de ton programme.

'------------------------------------
Sub test()
Dim Sh As Worksheet
Set Sh = Worksheets("Feuil1")

On Error Resume Next
With Sh
'définir la zone de critère
'En supposant que tu veuilles choisir l'étiquette
'de la colonne A1 -> champ où tu veux exploiter le filtre
.Range("K1") = .Range("A1")
.Range("K2") = 5 'la valeur du critère du filtre

'Définir la plage de cellules pour le filtre...
With .Range("A1:E" & .Range("A65536").End(xlUp).Row)
'Application du filtre
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sh.Range("K1:K2"), _
CopyToRange:=Sh.Range("P1"), Unique:úlse
'Copie vers la cellule où débutera la plage résultat
End With
.ShowAllData
End With
End Sub
'------------------------------------



"Françoise" a écrit dans le message de groupe de
discussion :
bon c'est vrai j'ai du mal !


peux-tu me remettre le fichier modifiée avec les modifs dont tu parles sur
ci-joint cela me permettrait de mieux comprendre et de gagner du temps sur
mon exemple concret
je fais des tests mais n'arrive pas à faire les extractions correctement

je travaille avec EXCEL 2003

d'avance merci pour ton aide


"MichDenis" a écrit :

| Worksheets("FILTRE SORTIES").Range("zonebdd")

Dans ladite feuille, Il n'y a pas de plage "zonebdd" dans la feuille
voir dans le classeur. Dans un tel cas, il est difficile que cela fonctionne !
(le classeur a t ouvert pas excel 2007)

En passant, un filtre labor requiert obligatoirement des tiquettes de colonnes.





"Franoise" a crit dans le message de groupe de
discussion :
Merci tous les deux pour votre aide, j'ai test le code de MichDenis, mais
toujours la mme erreur, aussi sur le conseil de Daniel je vous joins le
fichier pour voir ce qui cloche, j'avoue que je n'y vois plus rien !

http://www.cijoint.fr/cjlink.php?file=cj200903/cijCMrLV3f.xls

d'avance merci

"MichDenis" a crit :

> Dans cette ligne de code :
> Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
> CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:úlse
>
> Devant chaque item Range, met le nom de la feuille auquel appartient
> l'objet "Range". videmment tu adaptes "NomFeuille" pour le nom
> vritable de l'onglet de la feuille dsigne.
>
> Worksheets("NomFeuille").Range("zonebdd").AdvancedFilter Action:=xlFilterCopy, _
> CriteriaRange:=Worksheets("NomFeuille").Range("A1:A2"), _
> CopyToRange:=Worksheets("NomFeuille").Range("A4:O4"), Unique:úlse
>
>
>
>
>
> "Franoise" a crit dans le message de groupe de
> discussion :
> Bonjour tous,
>
> je bloque et rebloque sur certainement pas grand chose, mais bon j'y vois
> plus d'o mon appel l'aide !
>
> j'ai un formulaire qui liste dans une ListView1 toutes les refs de mes
> articles en stock sur une feuille STOCK
>
> Jusque l tout va bien
> Quand je clique sur une Ref dans la ListBoxArticles, je veux lister dans le
> formulaire UsfDetailArticle, la liste des sorties pour cet article qui est
> contenue dans la feuille SORTIES de mon classeur
>
> je me suis appuye sur un modle de Flo Cabon qui fonctionne parfaitement,
> mais voil chaque fois, j'ai le mme code erreur "erreur d'excution 1004 -
> la mthode range de l'objet global a chou sur ma ligne de code :
> Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
> CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:úlse
> =================== > > voici le code du formulaire :
> = > > Private Sub ListBoxArticles_Click()
> 'ds que l'on clique sur l'article, on affiche dans le formulaire
> usfDetailArticle les entres et sorties de stock de l'article
> NumArticle = ListBoxArticles.Value
>
> With Sheets("SORTIES").Range("A:A")
> 'on commence par rechercher dans la feuille des sorties le N de ligne
> correspondant l'article slectionn
> Set c = .Find(NumArticle, LookIn:=xlValues, LookAt:=xlWhole)
> 'la variable Lig, correspondant au numro de la ligne trouve, est dfinie
> comme une variable
> 'publique dans le module gnral dclarations. Ceci permet de passer sa
> valeur d'un userform un autre.
>
> If Not c Is Nothing Then Lig = c.Row
> End With
>
> Dim Critere As String
>
>
> If NumArticle <> -1 Then
> Critere = Critere & "(SORTIES!A2 = """ & NumArticle & """) * "
> End If
>
> ' ce stade le critre se termine par *... On ajoute donc un 1. Un critre
> renvoie normalement
> 'vrai ou faux. En le multipliant par 1 il renvoie 1 ou 0 ce qui est
> inter^rt de la mme faon par excel.
> Critere = "=" & Critere & "1"
> Sheets("FILTRE SORTIES").Range("A2").Value = Critere
>
>
> 'on utilise ensuite les critres de choix dans un filtre labor sur une
> feuille masque
> Sheets("FILTRE SORTIES").Activate
> Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
> CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:úlse
> 'Si aucune sortie ne correspond l'article slectionn
> If Range("FILTRE SORTIES!A5").Value = "" Then
> MsgBox ("Aucune sortie pour ce produit")
> 'S'il y a plus d'une sortie rpondant au critre autrement dit si B6 non vide
> 'on raffiche les sorties dans une zone de liste
> 'pour cela on nomme "Fiches Filtres" la plage contenant les sorties de
> l'article slectionn.
>
>
> ElseIf Range("FILTRE SORTIES!A6").Value <> "" Then
> ActiveWorkbook.Names.Add Name:="FichesFiltres", RefersToR1C1:= _
> "=OFFSET(FILTRE SORTIES!R5C1,,,COUNTA(FILTRE SORTIES!C1)-1)"
>
> 'sinon on rcupre son numro de ligne et on affiche la fiche article dans
> le userform UsfDetailArticle
> Else
> NumArticle = Range("A5").Value
> With Sheets("SORTIES").Range("A:A")
> Set c = .Find(NumArticle, LookIn:=xlValues, LookAt:=xlWhole)
> If Not c Is Nothing Then Lig = c.Row
> End With
> UsfDetailArticle.Show
>
> End If
>
> End Sub
> ================= > > Quelqu'un a t il une ide de ce qui coince ?
> d'avance merci tous
>
>



Avatar
MichDenis
comme je suppose que tu ferais plusieurs filtres,
il serait sage d'effacer la plage résultat avant de
lancer le filtre suivant. Pour ce faire, immédiatement
après avoir défini ton critère, tu insères cette ligne de
code en adaptant P1 pour la cellule de ton application...
Sh.Range("P1").CurrentRegion.Clear



"MichDenis" a écrit dans le message de groupe de discussion :

Un exemple d'un code d'un filtre élaboré
en supposant que la plage source des données. la zone
de critère et la plage de résultat se situe sur la même feuille.

Tu dois adapter le nom de la feuille et l'adresse de la plage
où se situe les données dans la feuille de ton programme.

'------------------------------------
Sub test()
Dim Sh As Worksheet
Set Sh = Worksheets("Feuil1")

On Error Resume Next
With Sh
'définir la zone de critère
'En supposant que tu veuilles choisir l'étiquette
'de la colonne A1 -> champ où tu veux exploiter le filtre
.Range("K1") = .Range("A1")
.Range("K2") = 5 'la valeur du critère du filtre

'Définir la plage de cellules pour le filtre...
With .Range("A1:E" & .Range("A65536").End(xlUp).Row)
'Application du filtre
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sh.Range("K1:K2"), _
CopyToRange:=Sh.Range("P1"), Unique:úlse
'Copie vers la cellule où débutera la plage résultat
End With
.ShowAllData
End With
End Sub
'------------------------------------



"Françoise" a écrit dans le message de groupe de
discussion :
bon c'est vrai j'ai du mal !


peux-tu me remettre le fichier modifiée avec les modifs dont tu parles sur
ci-joint cela me permettrait de mieux comprendre et de gagner du temps sur
mon exemple concret
je fais des tests mais n'arrive pas à faire les extractions correctement

je travaille avec EXCEL 2003

d'avance merci pour ton aide


"MichDenis" a écrit :

| Worksheets("FILTRE SORTIES").Range("zonebdd")

Dans ladite feuille, Il n'y a pas de plage "zonebdd" dans la feuille
voir dans le classeur. Dans un tel cas, il est difficile que cela fonctionne !
(le classeur a t ouvert pas excel 2007)

En passant, un filtre labor requiert obligatoirement des tiquettes de colonnes.





"Franoise" a crit dans le message de groupe de
discussion :
Merci tous les deux pour votre aide, j'ai test le code de MichDenis, mais
toujours la mme erreur, aussi sur le conseil de Daniel je vous joins le
fichier pour voir ce qui cloche, j'avoue que je n'y vois plus rien !

http://www.cijoint.fr/cjlink.php?file=cj200903/cijCMrLV3f.xls

d'avance merci

"MichDenis" a crit :

> Dans cette ligne de code :
> Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
> CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:úlse
>
> Devant chaque item Range, met le nom de la feuille auquel appartient
> l'objet "Range". videmment tu adaptes "NomFeuille" pour le nom
> vritable de l'onglet de la feuille dsigne.
>
> Worksheets("NomFeuille").Range("zonebdd").AdvancedFilter Action:=xlFilterCopy, _
> CriteriaRange:=Worksheets("NomFeuille").Range("A1:A2"), _
> CopyToRange:=Worksheets("NomFeuille").Range("A4:O4"), Unique:úlse
>
>
>
>
>
> "Franoise" a crit dans le message de groupe de
> discussion :
> Bonjour tous,
>
> je bloque et rebloque sur certainement pas grand chose, mais bon j'y vois
> plus d'o mon appel l'aide !
>
> j'ai un formulaire qui liste dans une ListView1 toutes les refs de mes
> articles en stock sur une feuille STOCK
>
> Jusque l tout va bien
> Quand je clique sur une Ref dans la ListBoxArticles, je veux lister dans le
> formulaire UsfDetailArticle, la liste des sorties pour cet article qui est
> contenue dans la feuille SORTIES de mon classeur
>
> je me suis appuye sur un modle de Flo Cabon qui fonctionne parfaitement,
> mais voil chaque fois, j'ai le mme code erreur "erreur d'excution 1004 -
> la mthode range de l'objet global a chou sur ma ligne de code :
> Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
> CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:úlse
> =================== > > voici le code du formulaire :
> = > > Private Sub ListBoxArticles_Click()
> 'ds que l'on clique sur l'article, on affiche dans le formulaire
> usfDetailArticle les entres et sorties de stock de l'article
> NumArticle = ListBoxArticles.Value
>
> With Sheets("SORTIES").Range("A:A")
> 'on commence par rechercher dans la feuille des sorties le N de ligne
> correspondant l'article slectionn
> Set c = .Find(NumArticle, LookIn:=xlValues, LookAt:=xlWhole)
> 'la variable Lig, correspondant au numro de la ligne trouve, est dfinie
> comme une variable
> 'publique dans le module gnral dclarations. Ceci permet de passer sa
> valeur d'un userform un autre.
>
> If Not c Is Nothing Then Lig = c.Row
> End With
>
> Dim Critere As String
>
>
> If NumArticle <> -1 Then
> Critere = Critere & "(SORTIES!A2 = """ & NumArticle & """) * "
> End If
>
> ' ce stade le critre se termine par *... On ajoute donc un 1. Un critre
> renvoie normalement
> 'vrai ou faux. En le multipliant par 1 il renvoie 1 ou 0 ce qui est
> inter^rt de la mme faon par excel.
> Critere = "=" & Critere & "1"
> Sheets("FILTRE SORTIES").Range("A2").Value = Critere
>
>
> 'on utilise ensuite les critres de choix dans un filtre labor sur une
> feuille masque
> Sheets("FILTRE SORTIES").Activate
> Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
> CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:úlse
> 'Si aucune sortie ne correspond l'article slectionn
> If Range("FILTRE SORTIES!A5").Value = "" Then
> MsgBox ("Aucune sortie pour ce produit")
> 'S'il y a plus d'une sortie rpondant au critre autrement dit si B6 non vide
> 'on raffiche les sorties dans une zone de liste
> 'pour cela on nomme "Fiches Filtres" la plage contenant les sorties de
> l'article slectionn.
>
>
> ElseIf Range("FILTRE SORTIES!A6").Value <> "" Then
> ActiveWorkbook.Names.Add Name:="FichesFiltres", RefersToR1C1:= _
> "=OFFSET(FILTRE SORTIES!R5C1,,,COUNTA(FILTRE SORTIES!C1)-1)"
>
> 'sinon on rcupre son numro de ligne et on affiche la fiche article dans
> le userform UsfDetailArticle
> Else
> NumArticle = Range("A5").Value
> With Sheets("SORTIES").Range("A:A")
> Set c = .Find(NumArticle, LookIn:=xlValues, LookAt:=xlWhole)
> If Not c Is Nothing Then Lig = c.Row
> End With
> UsfDetailArticle.Show
>
> End If
>
> End Sub
> ================= > > Quelqu'un a t il une ide de ce qui coince ?
> d'avance merci tous
>
>



Avatar
Françoise
Voilà qui est plus clair, en faisant un test sur une nouvelle feuille et en
récupérant les données sur la même feuille, ça marche très bien, je vais donc
exploiter cette macro pour obtenir le résultat que j'aimerais tant voir
apparaître dans mon formulaire !
Encore merci pour ces explications claires et précises

"MichDenis" a écrit :

comme je suppose que tu ferais plusieurs filtres,
il serait sage d'effacer la plage rsultat avant de
lancer le filtre suivant. Pour ce faire, immdiatement
aprs avoir dfini ton critre, tu insres cette ligne de
code en adaptant P1 pour la cellule de ton application...
Sh.Range("P1").CurrentRegion.Clear



"MichDenis" a crit dans le message de groupe de discussion :

Un exemple d'un code d'un filtre labor
en supposant que la plage source des donnes. la zone
de critre et la plage de rsultat se situe sur la mme feuille.

Tu dois adapter le nom de la feuille et l'adresse de la plage
o se situe les donnes dans la feuille de ton programme.

'------------------------------------
Sub test()
Dim Sh As Worksheet
Set Sh = Worksheets("Feuil1")

On Error Resume Next
With Sh
'dfinir la zone de critre
'En supposant que tu veuilles choisir l'tiquette
'de la colonne A1 -> champ o tu veux exploiter le filtre
.Range("K1") = .Range("A1")
.Range("K2") = 5 'la valeur du critre du filtre

'Dfinir la plage de cellules pour le filtre...
With .Range("A1:E" & .Range("A65536").End(xlUp).Row)
'Application du filtre
.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sh.Range("K1:K2"), _
CopyToRange:=Sh.Range("P1"), Unique:úlse
'Copie vers la cellule o dbutera la plage rsultat
End With
.ShowAllData
End With
End Sub
'------------------------------------



"Franoise" a crit dans le message de groupe de
discussion :
bon c'est vrai j'ai du mal !


peux-tu me remettre le fichier modifie avec les modifs dont tu parles sur
ci-joint cela me permettrait de mieux comprendre et de gagner du temps sur
mon exemple concret
je fais des tests mais n'arrive pas faire les extractions correctement

je travaille avec EXCEL 2003

d'avance merci pour ton aide


"MichDenis" a crit :

> | Worksheets("FILTRE SORTIES").Range("zonebdd")
>
> Dans ladite feuille, Il n'y a pas de plage "zonebdd" dans la feuille
> voir dans le classeur. Dans un tel cas, il est difficile que cela fonctionne !
> (le classeur a t ouvert pas excel 2007)
>
> En passant, un filtre labor requiert obligatoirement des tiquettes de colonnes.
>
>
>
>
>
> "Franoise" a crit dans le message de groupe de
> discussion :
> Merci tous les deux pour votre aide, j'ai test le code de MichDenis, mais
> toujours la mme erreur, aussi sur le conseil de Daniel je vous joins le
> fichier pour voir ce qui cloche, j'avoue que je n'y vois plus rien !
>
> http://www.cijoint.fr/cjlink.php?file=cj200903/cijCMrLV3f.xls
>
> d'avance merci
>
> "MichDenis" a crit :
>
> > Dans cette ligne de code :
> > Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
> > CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:úlse
> >
> > Devant chaque item Range, met le nom de la feuille auquel appartient
> > l'objet "Range". videmment tu adaptes "NomFeuille" pour le nom
> > vritable de l'onglet de la feuille dsigne.
> >
> > Worksheets("NomFeuille").Range("zonebdd").AdvancedFilter Action:=xlFilterCopy, _
> > CriteriaRange:=Worksheets("NomFeuille").Range("A1:A2"), _
> > CopyToRange:=Worksheets("NomFeuille").Range("A4:O4"), Unique:úlse
> >
> >
> >
> >
> >
> > "Franoise" a crit dans le message de groupe de
> > discussion :
> > Bonjour tous,
> >
> > je bloque et rebloque sur certainement pas grand chose, mais bon j'y vois
> > plus d'o mon appel l'aide !
> >
> > j'ai un formulaire qui liste dans une ListView1 toutes les refs de mes
> > articles en stock sur une feuille STOCK
> >
> > Jusque l tout va bien
> > Quand je clique sur une Ref dans la ListBoxArticles, je veux lister dans le
> > formulaire UsfDetailArticle, la liste des sorties pour cet article qui est
> > contenue dans la feuille SORTIES de mon classeur
> >
> > je me suis appuye sur un modle de Flo Cabon qui fonctionne parfaitement,
> > mais voil chaque fois, j'ai le mme code erreur "erreur d'excution 1004 -
> > la mthode range de l'objet global a chou sur ma ligne de code :
> > Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
> > CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:úlse
> > =================== > > > voici le code du formulaire :
> > = > > > Private Sub ListBoxArticles_Click()
> > 'ds que l'on clique sur l'article, on affiche dans le formulaire
> > usfDetailArticle les entres et sorties de stock de l'article
> > NumArticle = ListBoxArticles.Value
> >
> > With Sheets("SORTIES").Range("A:A")
> > 'on commence par rechercher dans la feuille des sorties le N de ligne
> > correspondant l'article slectionn
> > Set c = .Find(NumArticle, LookIn:=xlValues, LookAt:=xlWhole)
> > 'la variable Lig, correspondant au numro de la ligne trouve, est dfinie
> > comme une variable
> > 'publique dans le module gnral dclarations. Ceci permet de passer sa
> > valeur d'un userform un autre.
> >
> > If Not c Is Nothing Then Lig = c.Row
> > End With
> >
> > Dim Critere As String
> >
> >
> > If NumArticle <> -1 Then
> > Critere = Critere & "(SORTIES!A2 = """ & NumArticle & """) * "
> > End If
> >
> > ' ce stade le critre se termine par *... On ajoute donc un 1. Un critre
> > renvoie normalement
> > 'vrai ou faux. En le multipliant par 1 il renvoie 1 ou 0 ce qui est
> > inter^rt de la mme faon par excel.
> > Critere = "=" & Critere & "1"
> > Sheets("FILTRE SORTIES").Range("A2").Value = Critere
> >
> >
> > 'on utilise ensuite les critres de choix dans un filtre labor sur une
> > feuille masque
> > Sheets("FILTRE SORTIES").Activate
> > Range("zonebdd").AdvancedFilter Action:=xlFilterCopy,
> > CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:O4"), Unique:úlse
> > 'Si aucune sortie ne correspond l'article slectionn
> > If Range("FILTRE SORTIES!A5").Value = "" Then
> > MsgBox ("Aucune sortie pour ce produit")
> > 'S'il y a plus d'une sortie rpondant au critre autrement dit si B6 non vide
> > 'on raffiche les sorties dans une zone de liste
> > 'pour cela on nomme "Fiches Filtres" la plage contenant les sorties de
> > l'article slectionn.
> >
> >
> > ElseIf Range("FILTRE SORTIES!A6").Value <> "" Then
> > ActiveWorkbook.Names.Add Name:="FichesFiltres", RefersToR1C1:= _
> > "=OFFSET(FILTRE SORTIES!R5C1,,,COUNTA(FILTRE SORTIES!C1)-1)"
> >
> > 'sinon on rcupre son numro de ligne et on affiche la fiche article dans
> > le userform UsfDetailArticle
> > Else
> > NumArticle = Range("A5").Value
> > With Sheets("SORTIES").Range("A:A")
> > Set c = .Find(NumArticle, LookIn:=xlValues, LookAt:=xlWhole)
> > If Not c Is Nothing Then Lig = c.Row
> > End With
> > UsfDetailArticle.Show
> >
> > End If
> >
> > End Sub
> > ================= > > > Quelqu'un a t il une ide de ce qui coince ?
> > d'avance merci tous
> >
> >
>