Bonjour à vous, alors voila je rencontre un petit problème je vois comment
le
faire mais j'ai besoin de vos connaissances en programmation pour réaliser
cela. Alors voila à cette adresse vous pouvez trouver un fichier qui
illustre
mon exemple :
http://rapidshare.de/files/2651020/exemple.pour.question.xls.html , il
suffit de cliquer sur free en bas de la page et d'attendre une minute pour
recevoir le fichier.
En ce qui concerne mon problème je voudrais qu'à partir d'une userform la
personne saisisse un numéro et ensuite à partir de cela que la procédure
fasse une boucle puis une recherchev à partir du numéro saisi dans la
Feuil1
et pour finir qu'elle copie le Nom et le Type de Frais sur la Feuil2 puis
cache la ligne copier et que la procédure recommence tant qu'elle retrouve
le
numéro dans la 1ere colonne.
Et au final elle doit remettre les lignes cachées visible mais ceci n'est
pas le problème principale. Merci bien pour votre aide si vous avez bien
compris ce que je recherche pour un bon programmeur c'est fait en 2min vu
que
toutes les explications sont données mais pour une personne comme moi je
vous
en parle meme pas lol. Merci encore et bonne journée par la même occasion.
Bonjour à vous, alors voila je rencontre un petit problème je vois comment
le
faire mais j'ai besoin de vos connaissances en programmation pour réaliser
cela. Alors voila à cette adresse vous pouvez trouver un fichier qui
illustre
mon exemple :
http://rapidshare.de/files/2651020/exemple.pour.question.xls.html , il
suffit de cliquer sur free en bas de la page et d'attendre une minute pour
recevoir le fichier.
En ce qui concerne mon problème je voudrais qu'à partir d'une userform la
personne saisisse un numéro et ensuite à partir de cela que la procédure
fasse une boucle puis une recherchev à partir du numéro saisi dans la
Feuil1
et pour finir qu'elle copie le Nom et le Type de Frais sur la Feuil2 puis
cache la ligne copier et que la procédure recommence tant qu'elle retrouve
le
numéro dans la 1ere colonne.
Et au final elle doit remettre les lignes cachées visible mais ceci n'est
pas le problème principale. Merci bien pour votre aide si vous avez bien
compris ce que je recherche pour un bon programmeur c'est fait en 2min vu
que
toutes les explications sont données mais pour une personne comme moi je
vous
en parle meme pas lol. Merci encore et bonne journée par la même occasion.
Bonjour à vous, alors voila je rencontre un petit problème je vois comment
le
faire mais j'ai besoin de vos connaissances en programmation pour réaliser
cela. Alors voila à cette adresse vous pouvez trouver un fichier qui
illustre
mon exemple :
http://rapidshare.de/files/2651020/exemple.pour.question.xls.html , il
suffit de cliquer sur free en bas de la page et d'attendre une minute pour
recevoir le fichier.
En ce qui concerne mon problème je voudrais qu'à partir d'une userform la
personne saisisse un numéro et ensuite à partir de cela que la procédure
fasse une boucle puis une recherchev à partir du numéro saisi dans la
Feuil1
et pour finir qu'elle copie le Nom et le Type de Frais sur la Feuil2 puis
cache la ligne copier et que la procédure recommence tant qu'elle retrouve
le
numéro dans la 1ere colonne.
Et au final elle doit remettre les lignes cachées visible mais ceci n'est
pas le problème principale. Merci bien pour votre aide si vous avez bien
compris ce que je recherche pour un bon programmeur c'est fait en 2min vu
que
toutes les explications sont données mais pour une personne comme moi je
vous
en parle meme pas lol. Merci encore et bonne journée par la même occasion.
Bonjour à vous, alors voila je rencontre un petit problème je vois comment
le
faire mais j'ai besoin de vos connaissances en programmation pour réaliser
cela. Alors voila à cette adresse vous pouvez trouver un fichier qui
illustre
mon exemple :
http://rapidshare.de/files/2651020/exemple.pour.question.xls.html , il
suffit de cliquer sur free en bas de la page et d'attendre une minute pour
recevoir le fichier.
En ce qui concerne mon problème je voudrais qu'à partir d'une userform la
personne saisisse un numéro et ensuite à partir de cela que la procédure
fasse une boucle puis une recherchev à partir du numéro saisi dans la
Feuil1
et pour finir qu'elle copie le Nom et le Type de Frais sur la Feuil2 puis
cache la ligne copier et que la procédure recommence tant qu'elle retrouve
le
numéro dans la 1ere colonne.
Et au final elle doit remettre les lignes cachées visible mais ceci n'est
pas le problème principale. Merci bien pour votre aide si vous avez bien
compris ce que je recherche pour un bon programmeur c'est fait en 2min vu
que
toutes les explications sont données mais pour une personne comme moi je
vous
en parle meme pas lol. Merci encore et bonne journée par la même occasion.
Bonjour à vous, alors voila je rencontre un petit problème je vois comment
le
faire mais j'ai besoin de vos connaissances en programmation pour réaliser
cela. Alors voila à cette adresse vous pouvez trouver un fichier qui
illustre
mon exemple :
http://rapidshare.de/files/2651020/exemple.pour.question.xls.html , il
suffit de cliquer sur free en bas de la page et d'attendre une minute pour
recevoir le fichier.
En ce qui concerne mon problème je voudrais qu'à partir d'une userform la
personne saisisse un numéro et ensuite à partir de cela que la procédure
fasse une boucle puis une recherchev à partir du numéro saisi dans la
Feuil1
et pour finir qu'elle copie le Nom et le Type de Frais sur la Feuil2 puis
cache la ligne copier et que la procédure recommence tant qu'elle retrouve
le
numéro dans la 1ere colonne.
Et au final elle doit remettre les lignes cachées visible mais ceci n'est
pas le problème principale. Merci bien pour votre aide si vous avez bien
compris ce que je recherche pour un bon programmeur c'est fait en 2min vu
que
toutes les explications sont données mais pour une personne comme moi je
vous
en parle meme pas lol. Merci encore et bonne journée par la même occasion.
Bonjour à vous, alors voila je rencontre un petit problème je vois comment
le
faire mais j'ai besoin de vos connaissances en programmation pour réaliser
cela. Alors voila à cette adresse vous pouvez trouver un fichier qui
illustre
mon exemple :
http://rapidshare.de/files/2651020/exemple.pour.question.xls.html , il
suffit de cliquer sur free en bas de la page et d'attendre une minute pour
recevoir le fichier.
En ce qui concerne mon problème je voudrais qu'à partir d'une userform la
personne saisisse un numéro et ensuite à partir de cela que la procédure
fasse une boucle puis une recherchev à partir du numéro saisi dans la
Feuil1
et pour finir qu'elle copie le Nom et le Type de Frais sur la Feuil2 puis
cache la ligne copier et que la procédure recommence tant qu'elle retrouve
le
numéro dans la 1ere colonne.
Et au final elle doit remettre les lignes cachées visible mais ceci n'est
pas le problème principale. Merci bien pour votre aide si vous avez bien
compris ce que je recherche pour un bon programmeur c'est fait en 2min vu
que
toutes les explications sont données mais pour une personne comme moi je
vous
en parle meme pas lol. Merci encore et bonne journée par la même occasion.
Salut,
Comme Daniel je ne vois pas pourquoi tu veux afficher/masquer moi je t'ai
ecris un bout de code (moins technique et peut être plus facile a comprendre
pour tes futures macros) que Daniel à ajouter dans l'evenement click d'un
bouton d'un UserForm car c'est de là que tu voulais lancer ta macro(un
UserForm, un textBox et un CommandButton).
Pareil les données sont écrasée, savait pas si tu voulais les rajouter a la
fin ou aut' chose
Marc
Private Sub CommandButton1_Click()
Sheets("Feuil1").Select
Columns(2).Select
On Error Resume Next
Selection.Find(What:=UserForm1.TextBox1.Value, After:¬tiveCell,
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, MatchCase:úlse).Activate
If Trim(Cells(ActiveCell.Row, 2).Value) = Trim(UserForm1.TextBox1.Value)
Then
NoLigneFeuil1 = ActiveCell.Row
NoLigneFeuil2 = 5 ' 5 car la copie se fait a partir de la 5ème ligne
Do While Trim(Cells(NoLigneFeuil1, 2).Value) =
Trim(UserForm1.TextBox1.Value)
Nom = Cells(NoLigneFeuil1, 3).Value
TypesFrais = Cells(NoLigneFeuil1, 4).Value
Sheets("Feuil2").Select
Cells(NoLigneFeuil2, 2).Value = Nom
Cells(NoLigneFeuil2, 3).Value = TypesFrais
NoLigneFeuil2 = NoLigneFeuil2 + 1
Sheets("Feuil1").Select
NoLigneFeuil1 = NoLigneFeuil1 + 1
Loop
msg = MsgBox("Copie des données terminée", vbOKOnly, "Information")
Else
msg = MsgBox("No d'article non trouvé !", vbOKOnly, "Erreur")
End If
End Sub
"j0b" a écrit dans le message de news:Bonjour à vous, alors voila je rencontre un petit problème je vois comment
le
faire mais j'ai besoin de vos connaissances en programmation pour réaliser
cela. Alors voila à cette adresse vous pouvez trouver un fichier qui
illustre
mon exemple :
http://rapidshare.de/files/2651020/exemple.pour.question.xls.html , il
suffit de cliquer sur free en bas de la page et d'attendre une minute pour
recevoir le fichier.
En ce qui concerne mon problème je voudrais qu'à partir d'une userform la
personne saisisse un numéro et ensuite à partir de cela que la procédure
fasse une boucle puis une recherchev à partir du numéro saisi dans la
Feuil1
et pour finir qu'elle copie le Nom et le Type de Frais sur la Feuil2 puis
cache la ligne copier et que la procédure recommence tant qu'elle retrouve
le
numéro dans la 1ere colonne.
Et au final elle doit remettre les lignes cachées visible mais ceci n'est
pas le problème principale. Merci bien pour votre aide si vous avez bien
compris ce que je recherche pour un bon programmeur c'est fait en 2min vu
que
toutes les explications sont données mais pour une personne comme moi je
vous
en parle meme pas lol. Merci encore et bonne journée par la même occasion.
Salut,
Comme Daniel je ne vois pas pourquoi tu veux afficher/masquer moi je t'ai
ecris un bout de code (moins technique et peut être plus facile a comprendre
pour tes futures macros) que Daniel à ajouter dans l'evenement click d'un
bouton d'un UserForm car c'est de là que tu voulais lancer ta macro(un
UserForm, un textBox et un CommandButton).
Pareil les données sont écrasée, savait pas si tu voulais les rajouter a la
fin ou aut' chose
Marc
Private Sub CommandButton1_Click()
Sheets("Feuil1").Select
Columns(2).Select
On Error Resume Next
Selection.Find(What:=UserForm1.TextBox1.Value, After:¬tiveCell,
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, MatchCase:úlse).Activate
If Trim(Cells(ActiveCell.Row, 2).Value) = Trim(UserForm1.TextBox1.Value)
Then
NoLigneFeuil1 = ActiveCell.Row
NoLigneFeuil2 = 5 ' 5 car la copie se fait a partir de la 5ème ligne
Do While Trim(Cells(NoLigneFeuil1, 2).Value) =
Trim(UserForm1.TextBox1.Value)
Nom = Cells(NoLigneFeuil1, 3).Value
TypesFrais = Cells(NoLigneFeuil1, 4).Value
Sheets("Feuil2").Select
Cells(NoLigneFeuil2, 2).Value = Nom
Cells(NoLigneFeuil2, 3).Value = TypesFrais
NoLigneFeuil2 = NoLigneFeuil2 + 1
Sheets("Feuil1").Select
NoLigneFeuil1 = NoLigneFeuil1 + 1
Loop
msg = MsgBox("Copie des données terminée", vbOKOnly, "Information")
Else
msg = MsgBox("No d'article non trouvé !", vbOKOnly, "Erreur")
End If
End Sub
"j0b" <j0b@discussions.microsoft.com> a écrit dans le message de news:
E6149AC6-096B-45F9-930A-5C8583136AE2@microsoft.com...
Bonjour à vous, alors voila je rencontre un petit problème je vois comment
le
faire mais j'ai besoin de vos connaissances en programmation pour réaliser
cela. Alors voila à cette adresse vous pouvez trouver un fichier qui
illustre
mon exemple :
http://rapidshare.de/files/2651020/exemple.pour.question.xls.html , il
suffit de cliquer sur free en bas de la page et d'attendre une minute pour
recevoir le fichier.
En ce qui concerne mon problème je voudrais qu'à partir d'une userform la
personne saisisse un numéro et ensuite à partir de cela que la procédure
fasse une boucle puis une recherchev à partir du numéro saisi dans la
Feuil1
et pour finir qu'elle copie le Nom et le Type de Frais sur la Feuil2 puis
cache la ligne copier et que la procédure recommence tant qu'elle retrouve
le
numéro dans la 1ere colonne.
Et au final elle doit remettre les lignes cachées visible mais ceci n'est
pas le problème principale. Merci bien pour votre aide si vous avez bien
compris ce que je recherche pour un bon programmeur c'est fait en 2min vu
que
toutes les explications sont données mais pour une personne comme moi je
vous
en parle meme pas lol. Merci encore et bonne journée par la même occasion.
Salut,
Comme Daniel je ne vois pas pourquoi tu veux afficher/masquer moi je t'ai
ecris un bout de code (moins technique et peut être plus facile a comprendre
pour tes futures macros) que Daniel à ajouter dans l'evenement click d'un
bouton d'un UserForm car c'est de là que tu voulais lancer ta macro(un
UserForm, un textBox et un CommandButton).
Pareil les données sont écrasée, savait pas si tu voulais les rajouter a la
fin ou aut' chose
Marc
Private Sub CommandButton1_Click()
Sheets("Feuil1").Select
Columns(2).Select
On Error Resume Next
Selection.Find(What:=UserForm1.TextBox1.Value, After:¬tiveCell,
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, MatchCase:úlse).Activate
If Trim(Cells(ActiveCell.Row, 2).Value) = Trim(UserForm1.TextBox1.Value)
Then
NoLigneFeuil1 = ActiveCell.Row
NoLigneFeuil2 = 5 ' 5 car la copie se fait a partir de la 5ème ligne
Do While Trim(Cells(NoLigneFeuil1, 2).Value) =
Trim(UserForm1.TextBox1.Value)
Nom = Cells(NoLigneFeuil1, 3).Value
TypesFrais = Cells(NoLigneFeuil1, 4).Value
Sheets("Feuil2").Select
Cells(NoLigneFeuil2, 2).Value = Nom
Cells(NoLigneFeuil2, 3).Value = TypesFrais
NoLigneFeuil2 = NoLigneFeuil2 + 1
Sheets("Feuil1").Select
NoLigneFeuil1 = NoLigneFeuil1 + 1
Loop
msg = MsgBox("Copie des données terminée", vbOKOnly, "Information")
Else
msg = MsgBox("No d'article non trouvé !", vbOKOnly, "Erreur")
End If
End Sub
"j0b" a écrit dans le message de news:Bonjour à vous, alors voila je rencontre un petit problème je vois comment
le
faire mais j'ai besoin de vos connaissances en programmation pour réaliser
cela. Alors voila à cette adresse vous pouvez trouver un fichier qui
illustre
mon exemple :
http://rapidshare.de/files/2651020/exemple.pour.question.xls.html , il
suffit de cliquer sur free en bas de la page et d'attendre une minute pour
recevoir le fichier.
En ce qui concerne mon problème je voudrais qu'à partir d'une userform la
personne saisisse un numéro et ensuite à partir de cela que la procédure
fasse une boucle puis une recherchev à partir du numéro saisi dans la
Feuil1
et pour finir qu'elle copie le Nom et le Type de Frais sur la Feuil2 puis
cache la ligne copier et que la procédure recommence tant qu'elle retrouve
le
numéro dans la 1ere colonne.
Et au final elle doit remettre les lignes cachées visible mais ceci n'est
pas le problème principale. Merci bien pour votre aide si vous avez bien
compris ce que je recherche pour un bon programmeur c'est fait en 2min vu
que
toutes les explications sont données mais pour une personne comme moi je
vous
en parle meme pas lol. Merci encore et bonne journée par la même occasion.
bonjour,
je préfère dire par avance que je n'ai pas vu le fichier que le
correspondant propose.
une simple remarque toutefois d'ordre général:
utiliser Selection.Find(What:=UserForm1.TextBox1.Value, After:¬tiveCell,
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows).activate puis
ensuite utiliser une boucle do jusqu'à ce qu'on ne trouve plus de
correspondance de valeurs peut poser problème si il existe au moins 2
valeurs
correspondantes et que la toute 1ere valeur , correspondant au critère de
recherche , est sur la ligne N°1.
En effet, dans ce cas, la recherche demarre à compter de "après" la
cellule
active alors que celle-ci est la cellule de la ligne 1.Dans ces
conditions,
la valeur de la ligne 1 sera ignorée dans ta proc. Si par contre la ligne
1
est la seule à contenir la valeur correspondante de la colonne à répondre
au
critère, alors elle sera bien trouvée.
De plus, pourquoi écrire LookAt:=xlPart, ce qui implique donc que la
valeur
correspondante peut-être un surensemble de la valeur à chercher.
Enfin , utiliser des select ou des activate ralentit les macros.
Utiliser la méthode find est par contre plus rapide que une boucle for , à
condition qu'on l'utilise jusqu'au bout de ses possibilités et pas
seulement
pour détecter la 1ere valeur puis exécuter ensuite une boucle Do qui dans
ta
proc ressemble tout de même assez fortement à une boucle for de parcours à
partir de la 1ere valeur trouvée.
Enfin, pour ce que j'en dis.
Cordialement,
A+Salut,
Comme Daniel je ne vois pas pourquoi tu veux afficher/masquer moi je t'ai
ecris un bout de code (moins technique et peut être plus facile a
comprendre
pour tes futures macros) que Daniel à ajouter dans l'evenement click d'un
bouton d'un UserForm car c'est de là que tu voulais lancer ta macro(un
UserForm, un textBox et un CommandButton).
Pareil les données sont écrasée, savait pas si tu voulais les rajouter a
la
fin ou aut' chose
Marc
Private Sub CommandButton1_Click()
Sheets("Feuil1").Select
Columns(2).Select
On Error Resume Next
Selection.Find(What:=UserForm1.TextBox1.Value, After:¬tiveCell,
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, MatchCase:úlse).Activate
If Trim(Cells(ActiveCell.Row, 2).Value) =
Trim(UserForm1.TextBox1.Value)
Then
NoLigneFeuil1 = ActiveCell.Row
NoLigneFeuil2 = 5 ' 5 car la copie se fait a partir de la 5ème
ligne
Do While Trim(Cells(NoLigneFeuil1, 2).Value) >> Trim(UserForm1.TextBox1.Value)
Nom = Cells(NoLigneFeuil1, 3).Value
TypesFrais = Cells(NoLigneFeuil1, 4).Value
Sheets("Feuil2").Select
Cells(NoLigneFeuil2, 2).Value = Nom
Cells(NoLigneFeuil2, 3).Value = TypesFrais
NoLigneFeuil2 = NoLigneFeuil2 + 1
Sheets("Feuil1").Select
NoLigneFeuil1 = NoLigneFeuil1 + 1
Loop
msg = MsgBox("Copie des données terminée", vbOKOnly,
"Information")
Else
msg = MsgBox("No d'article non trouvé !", vbOKOnly, "Erreur")
End If
End Sub
"j0b" a écrit dans le message de news:Bonjour à vous, alors voila je rencontre un petit problème je vois
comment
le
faire mais j'ai besoin de vos connaissances en programmation pour
réaliser
cela. Alors voila à cette adresse vous pouvez trouver un fichier qui
illustre
mon exemple :
http://rapidshare.de/files/2651020/exemple.pour.question.xls.html , il
suffit de cliquer sur free en bas de la page et d'attendre une minute
pour
recevoir le fichier.
En ce qui concerne mon problème je voudrais qu'à partir d'une userform
la
personne saisisse un numéro et ensuite à partir de cela que la
procédure
fasse une boucle puis une recherchev à partir du numéro saisi dans la
Feuil1
et pour finir qu'elle copie le Nom et le Type de Frais sur la Feuil2
puis
cache la ligne copier et que la procédure recommence tant qu'elle
retrouve
le
numéro dans la 1ere colonne.
Et au final elle doit remettre les lignes cachées visible mais ceci
n'est
pas le problème principale. Merci bien pour votre aide si vous avez
bien
compris ce que je recherche pour un bon programmeur c'est fait en 2min
vu
que
toutes les explications sont données mais pour une personne comme moi
je
vous
en parle meme pas lol. Merci encore et bonne journée par la même
occasion.
bonjour,
je préfère dire par avance que je n'ai pas vu le fichier que le
correspondant propose.
une simple remarque toutefois d'ordre général:
utiliser Selection.Find(What:=UserForm1.TextBox1.Value, After:¬tiveCell,
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows).activate puis
ensuite utiliser une boucle do jusqu'à ce qu'on ne trouve plus de
correspondance de valeurs peut poser problème si il existe au moins 2
valeurs
correspondantes et que la toute 1ere valeur , correspondant au critère de
recherche , est sur la ligne N°1.
En effet, dans ce cas, la recherche demarre à compter de "après" la
cellule
active alors que celle-ci est la cellule de la ligne 1.Dans ces
conditions,
la valeur de la ligne 1 sera ignorée dans ta proc. Si par contre la ligne
1
est la seule à contenir la valeur correspondante de la colonne à répondre
au
critère, alors elle sera bien trouvée.
De plus, pourquoi écrire LookAt:=xlPart, ce qui implique donc que la
valeur
correspondante peut-être un surensemble de la valeur à chercher.
Enfin , utiliser des select ou des activate ralentit les macros.
Utiliser la méthode find est par contre plus rapide que une boucle for , à
condition qu'on l'utilise jusqu'au bout de ses possibilités et pas
seulement
pour détecter la 1ere valeur puis exécuter ensuite une boucle Do qui dans
ta
proc ressemble tout de même assez fortement à une boucle for de parcours à
partir de la 1ere valeur trouvée.
Enfin, pour ce que j'en dis.
Cordialement,
A+
Salut,
Comme Daniel je ne vois pas pourquoi tu veux afficher/masquer moi je t'ai
ecris un bout de code (moins technique et peut être plus facile a
comprendre
pour tes futures macros) que Daniel à ajouter dans l'evenement click d'un
bouton d'un UserForm car c'est de là que tu voulais lancer ta macro(un
UserForm, un textBox et un CommandButton).
Pareil les données sont écrasée, savait pas si tu voulais les rajouter a
la
fin ou aut' chose
Marc
Private Sub CommandButton1_Click()
Sheets("Feuil1").Select
Columns(2).Select
On Error Resume Next
Selection.Find(What:=UserForm1.TextBox1.Value, After:¬tiveCell,
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, MatchCase:úlse).Activate
If Trim(Cells(ActiveCell.Row, 2).Value) =
Trim(UserForm1.TextBox1.Value)
Then
NoLigneFeuil1 = ActiveCell.Row
NoLigneFeuil2 = 5 ' 5 car la copie se fait a partir de la 5ème
ligne
Do While Trim(Cells(NoLigneFeuil1, 2).Value) >> Trim(UserForm1.TextBox1.Value)
Nom = Cells(NoLigneFeuil1, 3).Value
TypesFrais = Cells(NoLigneFeuil1, 4).Value
Sheets("Feuil2").Select
Cells(NoLigneFeuil2, 2).Value = Nom
Cells(NoLigneFeuil2, 3).Value = TypesFrais
NoLigneFeuil2 = NoLigneFeuil2 + 1
Sheets("Feuil1").Select
NoLigneFeuil1 = NoLigneFeuil1 + 1
Loop
msg = MsgBox("Copie des données terminée", vbOKOnly,
"Information")
Else
msg = MsgBox("No d'article non trouvé !", vbOKOnly, "Erreur")
End If
End Sub
"j0b" <j0b@discussions.microsoft.com> a écrit dans le message de news:
E6149AC6-096B-45F9-930A-5C8583136AE2@microsoft.com...
Bonjour à vous, alors voila je rencontre un petit problème je vois
comment
le
faire mais j'ai besoin de vos connaissances en programmation pour
réaliser
cela. Alors voila à cette adresse vous pouvez trouver un fichier qui
illustre
mon exemple :
http://rapidshare.de/files/2651020/exemple.pour.question.xls.html , il
suffit de cliquer sur free en bas de la page et d'attendre une minute
pour
recevoir le fichier.
En ce qui concerne mon problème je voudrais qu'à partir d'une userform
la
personne saisisse un numéro et ensuite à partir de cela que la
procédure
fasse une boucle puis une recherchev à partir du numéro saisi dans la
Feuil1
et pour finir qu'elle copie le Nom et le Type de Frais sur la Feuil2
puis
cache la ligne copier et que la procédure recommence tant qu'elle
retrouve
le
numéro dans la 1ere colonne.
Et au final elle doit remettre les lignes cachées visible mais ceci
n'est
pas le problème principale. Merci bien pour votre aide si vous avez
bien
compris ce que je recherche pour un bon programmeur c'est fait en 2min
vu
que
toutes les explications sont données mais pour une personne comme moi
je
vous
en parle meme pas lol. Merci encore et bonne journée par la même
occasion.
bonjour,
je préfère dire par avance que je n'ai pas vu le fichier que le
correspondant propose.
une simple remarque toutefois d'ordre général:
utiliser Selection.Find(What:=UserForm1.TextBox1.Value, After:¬tiveCell,
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows).activate puis
ensuite utiliser une boucle do jusqu'à ce qu'on ne trouve plus de
correspondance de valeurs peut poser problème si il existe au moins 2
valeurs
correspondantes et que la toute 1ere valeur , correspondant au critère de
recherche , est sur la ligne N°1.
En effet, dans ce cas, la recherche demarre à compter de "après" la
cellule
active alors que celle-ci est la cellule de la ligne 1.Dans ces
conditions,
la valeur de la ligne 1 sera ignorée dans ta proc. Si par contre la ligne
1
est la seule à contenir la valeur correspondante de la colonne à répondre
au
critère, alors elle sera bien trouvée.
De plus, pourquoi écrire LookAt:=xlPart, ce qui implique donc que la
valeur
correspondante peut-être un surensemble de la valeur à chercher.
Enfin , utiliser des select ou des activate ralentit les macros.
Utiliser la méthode find est par contre plus rapide que une boucle for , à
condition qu'on l'utilise jusqu'au bout de ses possibilités et pas
seulement
pour détecter la 1ere valeur puis exécuter ensuite une boucle Do qui dans
ta
proc ressemble tout de même assez fortement à une boucle for de parcours à
partir de la 1ere valeur trouvée.
Enfin, pour ce que j'en dis.
Cordialement,
A+Salut,
Comme Daniel je ne vois pas pourquoi tu veux afficher/masquer moi je t'ai
ecris un bout de code (moins technique et peut être plus facile a
comprendre
pour tes futures macros) que Daniel à ajouter dans l'evenement click d'un
bouton d'un UserForm car c'est de là que tu voulais lancer ta macro(un
UserForm, un textBox et un CommandButton).
Pareil les données sont écrasée, savait pas si tu voulais les rajouter a
la
fin ou aut' chose
Marc
Private Sub CommandButton1_Click()
Sheets("Feuil1").Select
Columns(2).Select
On Error Resume Next
Selection.Find(What:=UserForm1.TextBox1.Value, After:¬tiveCell,
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, MatchCase:úlse).Activate
If Trim(Cells(ActiveCell.Row, 2).Value) =
Trim(UserForm1.TextBox1.Value)
Then
NoLigneFeuil1 = ActiveCell.Row
NoLigneFeuil2 = 5 ' 5 car la copie se fait a partir de la 5ème
ligne
Do While Trim(Cells(NoLigneFeuil1, 2).Value) >> Trim(UserForm1.TextBox1.Value)
Nom = Cells(NoLigneFeuil1, 3).Value
TypesFrais = Cells(NoLigneFeuil1, 4).Value
Sheets("Feuil2").Select
Cells(NoLigneFeuil2, 2).Value = Nom
Cells(NoLigneFeuil2, 3).Value = TypesFrais
NoLigneFeuil2 = NoLigneFeuil2 + 1
Sheets("Feuil1").Select
NoLigneFeuil1 = NoLigneFeuil1 + 1
Loop
msg = MsgBox("Copie des données terminée", vbOKOnly,
"Information")
Else
msg = MsgBox("No d'article non trouvé !", vbOKOnly, "Erreur")
End If
End Sub
"j0b" a écrit dans le message de news:Bonjour à vous, alors voila je rencontre un petit problème je vois
comment
le
faire mais j'ai besoin de vos connaissances en programmation pour
réaliser
cela. Alors voila à cette adresse vous pouvez trouver un fichier qui
illustre
mon exemple :
http://rapidshare.de/files/2651020/exemple.pour.question.xls.html , il
suffit de cliquer sur free en bas de la page et d'attendre une minute
pour
recevoir le fichier.
En ce qui concerne mon problème je voudrais qu'à partir d'une userform
la
personne saisisse un numéro et ensuite à partir de cela que la
procédure
fasse une boucle puis une recherchev à partir du numéro saisi dans la
Feuil1
et pour finir qu'elle copie le Nom et le Type de Frais sur la Feuil2
puis
cache la ligne copier et que la procédure recommence tant qu'elle
retrouve
le
numéro dans la 1ere colonne.
Et au final elle doit remettre les lignes cachées visible mais ceci
n'est
pas le problème principale. Merci bien pour votre aide si vous avez
bien
compris ce que je recherche pour un bon programmeur c'est fait en 2min
vu
que
toutes les explications sont données mais pour une personne comme moi
je
vous
en parle meme pas lol. Merci encore et bonne journée par la même
occasion.