OVH Cloud OVH Cloud

pb avec la fonction find

10 réponses
Avatar
Marie
bonjour à tous
alors voilà j'ai chercher des articles sur la fonction find et j'en ai
trouvé un paquet intéressant j'ai essayé de faire mon programme avec mais je
n'est pas du bien appliquer!!
En fait ce que je fais c'est que je suis dans mon classeur projet et je
cherche dans mon classeur charge_V1 si le nom de mon classeur y est déjà
répertorié (mes fichier s'appellent projet_0001,projet_0002, etc) dans la
feuille projets dans la plage ("E2:E1000"). S'il y est (ce qui obligé) il
recopie les données que je souhaite sur la même ligne . j'ai donc fait ceci
(je ne vous met que le morceau intéressant):

nombis = Worksheets("Fiche Projet").Cells(2, 5).Text
NOM = "projet_" & nombis

'On retrouve le projet dans la base
With Workbooks("Charge_V1").Worksheets("BDB").Range("E2:E1000")
Set c = .Find(NOM, LookIn:=xlValues)
Lignedest = c.Rows
'copie des données de la fiche projet vers la feuille "projets"
Workbooks(NOM).Worksheets("fiche projet").Cells(2, 16).Copy

With Workbooks("charge_V1").Worksheets("projets")
.Range("D" & Lignedest).PasteSpecial
Paste:=xlPasteValuesAndNumberFormats
.Range("C" & Lignedest).Value = TextBox
.Range("H" & Lignedest).Value = Workbooks(NOM).Worksheets("fiche
projet").Cells(6, 5).Value
End With
End With

10 réponses

Avatar
Marie
oups je n'avais pas fini!! désolé
et en fait le programme plante sur
Lignedest = c.Rows
et si je point sur le c juste avant, l'infobulle me met c=Nothing
sur certain programme j'ai vu des
If Not c Is Nothing Then etc..
mais si je le met le programme va directement à Enf If et ne fait pas la
procédure en dessous. Je pense que je n'ai pas bien défini ma plage mais je
ne sais pas comment y rémédier!
Merci de vous pencher sur mon problème!
;-)


bonjour à tous
alors voilà j'ai chercher des articles sur la fonction find et j'en ai
trouvé un paquet intéressant j'ai essayé de faire mon programme avec mais je
n'est pas du bien appliquer!!
En fait ce que je fais c'est que je suis dans mon classeur projet et je
cherche dans mon classeur charge_V1 si le nom de mon classeur y est déjà
répertorié (mes fichier s'appellent projet_0001,projet_0002, etc) dans la
feuille projets dans la plage ("E2:E1000"). S'il y est (ce qui obligé) il
recopie les données que je souhaite sur la même ligne . j'ai donc fait ceci
(je ne vous met que le morceau intéressant):

nombis = Worksheets("Fiche Projet").Cells(2, 5).Text
NOM = "projet_" & nombis

'On retrouve le projet dans la base
With Workbooks("Charge_V1").Worksheets("BDB").Range("E2:E1000")
Set c = .Find(NOM, LookIn:=xlValues)
Lignedest = c.Rows
'copie des données de la fiche projet vers la feuille "projets"
Workbooks(NOM).Worksheets("fiche projet").Cells(2, 16).Copy

With Workbooks("charge_V1").Worksheets("projets")
.Range("D" & Lignedest).PasteSpecial
Paste:=xlPasteValuesAndNumberFormats
.Range("C" & Lignedest).Value = TextBox
.Range("H" & Lignedest).Value = Workbooks(NOM).Worksheets("fiche
projet").Cells(6, 5).Value
End With
End With


Avatar
stanislasRB
bonjour,
et en rajoutant un lookat:

Set c = .Find(NOM, LookIn:=xlValues, lookat:=xlwhole)

çà le ferait?



bonjour à tous
alors voilà j'ai chercher des articles sur la fonction find et j'en ai
trouvé un paquet intéressant j'ai essayé de faire mon programme avec mais je
n'est pas du bien appliquer!!
En fait ce que je fais c'est que je suis dans mon classeur projet et je
cherche dans mon classeur charge_V1 si le nom de mon classeur y est déjà
répertorié (mes fichier s'appellent projet_0001,projet_0002, etc) dans la
feuille projets dans la plage ("E2:E1000"). S'il y est (ce qui obligé) il
recopie les données que je souhaite sur la même ligne . j'ai donc fait ceci
(je ne vous met que le morceau intéressant):

nombis = Worksheets("Fiche Projet").Cells(2, 5).Text
NOM = "projet_" & nombis

'On retrouve le projet dans la base
With Workbooks("Charge_V1").Worksheets("BDB").Range("E2:E1000")
Set c = .Find(NOM, LookIn:=xlValues)
Lignedest = c.Rows
'copie des données de la fiche projet vers la feuille "projets"
Workbooks(NOM).Worksheets("fiche projet").Cells(2, 16).Copy

With Workbooks("charge_V1").Worksheets("projets")
.Range("D" & Lignedest).PasteSpecial
Paste:=xlPasteValuesAndNumberFormats
.Range("C" & Lignedest).Value = TextBox
.Range("H" & Lignedest).Value = Workbooks(NOM).Worksheets("fiche
projet").Cells(6, 5).Value
End With
End With


Avatar
Marie
Non ce ne fonctionne toujours pas avec "lookat:=xlwhole"
mais qu'est-ce que c'est il n'y pas d'aide sur ces mots??
Merci encore Stanislas de vous penchez sur mon problème :-)


bonjour,
et en rajoutant un lookat:

Set c = .Find(NOM, LookIn:=xlValues, lookat:=xlwhole)

çà le ferait?



bonjour à tous
alors voilà j'ai chercher des articles sur la fonction find et j'en ai
trouvé un paquet intéressant j'ai essayé de faire mon programme avec mais je
n'est pas du bien appliquer!!
En fait ce que je fais c'est que je suis dans mon classeur projet et je
cherche dans mon classeur charge_V1 si le nom de mon classeur y est déjà
répertorié (mes fichier s'appellent projet_0001,projet_0002, etc) dans la
feuille projets dans la plage ("E2:E1000"). S'il y est (ce qui obligé) il
recopie les données que je souhaite sur la même ligne . j'ai donc fait ceci
(je ne vous met que le morceau intéressant):

nombis = Worksheets("Fiche Projet").Cells(2, 5).Text
NOM = "projet_" & nombis

'On retrouve le projet dans la base
With Workbooks("Charge_V1").Worksheets("BDB").Range("E2:E1000")
Set c = .Find(NOM, LookIn:=xlValues)
Lignedest = c.Rows
'copie des données de la fiche projet vers la feuille "projets"
Workbooks(NOM).Worksheets("fiche projet").Cells(2, 16).Copy

With Workbooks("charge_V1").Worksheets("projets")
.Range("D" & Lignedest).PasteSpecial
Paste:=xlPasteValuesAndNumberFormats
.Range("C" & Lignedest).Value = TextBox
.Range("H" & Lignedest).Value = Workbooks(NOM).Worksheets("fiche
projet").Cells(6, 5).Value
End With
End With




Avatar
Marie
je crois savoir pourquoi peut-être ca coince!
à l'endroit où je cherche ("E3:E1000") j'ai un formule qui est
=SI(D3="";"";"projet_"&B3&C3)
En fait si une case est vide celle ci aussi et sinon elle devient projet_
&0001 par exemple, comme ce n'est pas exactement le texte rechercher peut
être que la recherche ne peut pas fonctionner! dans ce cas puis je faire pour
que en donnant ("E3:E1000") ce soit uniquement la valeur qui soit prise en
compte??
est-ce que ce pourait-être cela mon problème??
Merci d'avance!


bonjour,
et en rajoutant un lookat:

Set c = .Find(NOM, LookIn:=xlValues, lookat:=xlwhole)

çà le ferait?



bonjour à tous
alors voilà j'ai chercher des articles sur la fonction find et j'en ai
trouvé un paquet intéressant j'ai essayé de faire mon programme avec mais je
n'est pas du bien appliquer!!
En fait ce que je fais c'est que je suis dans mon classeur projet et je
cherche dans mon classeur charge_V1 si le nom de mon classeur y est déjà
répertorié (mes fichier s'appellent projet_0001,projet_0002, etc) dans la
feuille projets dans la plage ("E2:E1000"). S'il y est (ce qui obligé) il
recopie les données que je souhaite sur la même ligne . j'ai donc fait ceci
(je ne vous met que le morceau intéressant):

nombis = Worksheets("Fiche Projet").Cells(2, 5).Text
NOM = "projet_" & nombis

'On retrouve le projet dans la base
With Workbooks("Charge_V1").Worksheets("BDB").Range("E2:E1000")
Set c = .Find(NOM, LookIn:=xlValues)
Lignedest = c.Rows
'copie des données de la fiche projet vers la feuille "projets"
Workbooks(NOM).Worksheets("fiche projet").Cells(2, 16).Copy

With Workbooks("charge_V1").Worksheets("projets")
.Range("D" & Lignedest).PasteSpecial
Paste:=xlPasteValuesAndNumberFormats
.Range("C" & Lignedest).Value = TextBox
.Range("H" & Lignedest).Value = Workbooks(NOM).Worksheets("fiche
projet").Cells(6, 5).Value
End With
End With




Avatar
stanislasRB
le lookat sert à preciser qu'il faut chercher la chaine complète, quelque
soit son type, string, variant ou integer.

par contre, est-ce-que la ligne:

NOM = "projet_" & nombis

te renvoie bien "projet_0001" et non pas "projet_1", ce qui pourrait arriver
si :

nombis = Worksheets("Fiche Projet").Cells(2, 5).Text

fait référence à une valeur numérique.
Si c'est le cas, il faudrait faire un test du type "len(Worksheets("Fiche
Projet").Cells(2, 5))" pour lui recoller le nombre de 0 qui va bien,
éventuellement.

j'espere seulement que j'ai bien compris là où était le problème....








Non ce ne fonctionne toujours pas avec "lookat:=xlwhole"
mais qu'est-ce que c'est il n'y pas d'aide sur ces mots??
Merci encore Stanislas de vous penchez sur mon problème :-)


bonjour,
et en rajoutant un lookat:

Set c = .Find(NOM, LookIn:=xlValues, lookat:=xlwhole)

çà le ferait?



bonjour à tous
alors voilà j'ai chercher des articles sur la fonction find et j'en ai
trouvé un paquet intéressant j'ai essayé de faire mon programme avec mais je
n'est pas du bien appliquer!!
En fait ce que je fais c'est que je suis dans mon classeur projet et je
cherche dans mon classeur charge_V1 si le nom de mon classeur y est déjà
répertorié (mes fichier s'appellent projet_0001,projet_0002, etc) dans la
feuille projets dans la plage ("E2:E1000"). S'il y est (ce qui obligé) il
recopie les données que je souhaite sur la même ligne . j'ai donc fait ceci
(je ne vous met que le morceau intéressant):

nombis = Worksheets("Fiche Projet").Cells(2, 5).Text
NOM = "projet_" & nombis

'On retrouve le projet dans la base
With Workbooks("Charge_V1").Worksheets("BDB").Range("E2:E1000")
Set c = .Find(NOM, LookIn:=xlValues)
Lignedest = c.Rows
'copie des données de la fiche projet vers la feuille "projets"
Workbooks(NOM).Worksheets("fiche projet").Cells(2, 16).Copy

With Workbooks("charge_V1").Worksheets("projets")
.Range("D" & Lignedest).PasteSpecial
Paste:=xlPasteValuesAndNumberFormats
.Range("C" & Lignedest).Value = TextBox
.Range("H" & Lignedest).Value = Workbooks(NOM).Worksheets("fiche
projet").Cells(6, 5).Value
End With
End With






Avatar
anonymousA
bonjour,

s'il y a plantage c'est parce que Find ne trouve pas l'item recherché. En
effet dans ce cas, c vaut nothing et il ne peut être possible d'utiliser une
propriété rows sur un objet dont l'affectation est nothing.
Dans le cas contraire, lignedest serait renseigné, bien que dans ce cas
l'instruction la plus adhoc pour récupérer le N° de la ligne où se trouve c
soit plutot c.row ( en effet , c.rows , dans le cas ou c est un range d'une
seule cellule , renvoie la valeur de c mais pas le N° de la ligne)

Je t'invite donc à rechercher avant toute chose pourquoi ta méthode find ne
détecte pas l'item .

A+


Non ce ne fonctionne toujours pas avec "lookat:=xlwhole"
mais qu'est-ce que c'est il n'y pas d'aide sur ces mots??
Merci encore Stanislas de vous penchez sur mon problème :-)


bonjour,
et en rajoutant un lookat:

Set c = .Find(NOM, LookIn:=xlValues, lookat:=xlwhole)

çà le ferait?



bonjour à tous
alors voilà j'ai chercher des articles sur la fonction find et j'en ai
trouvé un paquet intéressant j'ai essayé de faire mon programme avec mais je
n'est pas du bien appliquer!!
En fait ce que je fais c'est que je suis dans mon classeur projet et je
cherche dans mon classeur charge_V1 si le nom de mon classeur y est déjà
répertorié (mes fichier s'appellent projet_0001,projet_0002, etc) dans la
feuille projets dans la plage ("E2:E1000"). S'il y est (ce qui obligé) il
recopie les données que je souhaite sur la même ligne . j'ai donc fait ceci
(je ne vous met que le morceau intéressant):

nombis = Worksheets("Fiche Projet").Cells(2, 5).Text
NOM = "projet_" & nombis

'On retrouve le projet dans la base
With Workbooks("Charge_V1").Worksheets("BDB").Range("E2:E1000")
Set c = .Find(NOM, LookIn:=xlValues)
Lignedest = c.Rows
'copie des données de la fiche projet vers la feuille "projets"
Workbooks(NOM).Worksheets("fiche projet").Cells(2, 16).Copy

With Workbooks("charge_V1").Worksheets("projets")
.Range("D" & Lignedest).PasteSpecial
Paste:=xlPasteValuesAndNumberFormats
.Range("C" & Lignedest).Value = TextBox
.Range("H" & Lignedest).Value = Workbooks(NOM).Worksheets("fiche
projet").Cells(6, 5).Value
End With
End With






Avatar
stanislasRB
à l'endroit où je cherche ("E3:E1000") j'ai un formule qui est
=SI(D3="";"";"projet_"&B3&C3)

ce qui veut dire que si d3 = "", tu auras un truc du genre "projet_nnn.." en
[e3:e1000]..

Donc, ta variable "NOM" ressemblera à un autre truc du genre
"projet_projet_nnn..."

et find ne trouvera rien...


ou alors, c'est moi qui ne comprend rien, ce qui reste tres envisageable!...




je crois savoir pourquoi peut-être ca coince!
à l'endroit où je cherche ("E3:E1000") j'ai un formule qui est
=SI(D3="";"";"projet_"&B3&C3)
En fait si une case est vide celle ci aussi et sinon elle devient projet_
&0001 par exemple, comme ce n'est pas exactement le texte rechercher peut
être que la recherche ne peut pas fonctionner! dans ce cas puis je faire pour
que en donnant ("E3:E1000") ce soit uniquement la valeur qui soit prise en
compte??
est-ce que ce pourait-être cela mon problème??
Merci d'avance!


bonjour,
et en rajoutant un lookat:

Set c = .Find(NOM, LookIn:=xlValues, lookat:=xlwhole)

çà le ferait?



bonjour à tous
alors voilà j'ai chercher des articles sur la fonction find et j'en ai
trouvé un paquet intéressant j'ai essayé de faire mon programme avec mais je
n'est pas du bien appliquer!!
En fait ce que je fais c'est que je suis dans mon classeur projet et je
cherche dans mon classeur charge_V1 si le nom de mon classeur y est déjà
répertorié (mes fichier s'appellent projet_0001,projet_0002, etc) dans la
feuille projets dans la plage ("E2:E1000"). S'il y est (ce qui obligé) il
recopie les données que je souhaite sur la même ligne . j'ai donc fait ceci
(je ne vous met que le morceau intéressant):

nombis = Worksheets("Fiche Projet").Cells(2, 5).Text
NOM = "projet_" & nombis

'On retrouve le projet dans la base
With Workbooks("Charge_V1").Worksheets("BDB").Range("E2:E1000")
Set c = .Find(NOM, LookIn:=xlValues)
Lignedest = c.Rows
'copie des données de la fiche projet vers la feuille "projets"
Workbooks(NOM).Worksheets("fiche projet").Cells(2, 16).Copy

With Workbooks("charge_V1").Worksheets("projets")
.Range("D" & Lignedest).PasteSpecial
Paste:=xlPasteValuesAndNumberFormats
.Range("C" & Lignedest).Value = TextBox
.Range("H" & Lignedest).Value = Workbooks(NOM).Worksheets("fiche
projet").Cells(6, 5).Value
End With
End With






Avatar
Marie
NOM renvoie bien projet_0001 j'ai bien fait attention, je me suis fait à
avoir au tout début mais il renvoit bien la valeur. ce n'est pas encore cela
qui coince
mais oui oui vous avez bien compris le problème!! :-D
merci encore de répondre à mes questions


le lookat sert à preciser qu'il faut chercher la chaine complète, quelque
soit son type, string, variant ou integer.

par contre, est-ce-que la ligne:

NOM = "projet_" & nombis

te renvoie bien "projet_0001" et non pas "projet_1", ce qui pourrait arriver
si :

nombis = Worksheets("Fiche Projet").Cells(2, 5).Text

fait référence à une valeur numérique.
Si c'est le cas, il faudrait faire un test du type "len(Worksheets("Fiche
Projet").Cells(2, 5))" pour lui recoller le nombre de 0 qui va bien,
éventuellement.

j'espere seulement que j'ai bien compris là où était le problème....








Non ce ne fonctionne toujours pas avec "lookat:=xlwhole"
mais qu'est-ce que c'est il n'y pas d'aide sur ces mots??
Merci encore Stanislas de vous penchez sur mon problème :-)


bonjour,
et en rajoutant un lookat:

Set c = .Find(NOM, LookIn:=xlValues, lookat:=xlwhole)

çà le ferait?



bonjour à tous
alors voilà j'ai chercher des articles sur la fonction find et j'en ai
trouvé un paquet intéressant j'ai essayé de faire mon programme avec mais je
n'est pas du bien appliquer!!
En fait ce que je fais c'est que je suis dans mon classeur projet et je
cherche dans mon classeur charge_V1 si le nom de mon classeur y est déjà
répertorié (mes fichier s'appellent projet_0001,projet_0002, etc) dans la
feuille projets dans la plage ("E2:E1000"). S'il y est (ce qui obligé) il
recopie les données que je souhaite sur la même ligne . j'ai donc fait ceci
(je ne vous met que le morceau intéressant):

nombis = Worksheets("Fiche Projet").Cells(2, 5).Text
NOM = "projet_" & nombis

'On retrouve le projet dans la base
With Workbooks("Charge_V1").Worksheets("BDB").Range("E2:E1000")
Set c = .Find(NOM, LookIn:=xlValues)
Lignedest = c.Rows
'copie des données de la fiche projet vers la feuille "projets"
Workbooks(NOM).Worksheets("fiche projet").Cells(2, 16).Copy

With Workbooks("charge_V1").Worksheets("projets")
.Range("D" & Lignedest).PasteSpecial
Paste:=xlPasteValuesAndNumberFormats
.Range("C" & Lignedest).Value = TextBox
.Range("H" & Lignedest).Value = Workbooks(NOM).Worksheets("fiche
projet").Cells(6, 5).Value
End With
End With








Avatar
Marie
non la c'est pas tout à fait ca en fait j'ai fait un peu de bidouillage!

si d3="" j'aurai ""
si d3 <> de "" j'aurai projet_ & B3(qui est le nomre de zéro)& C3 (le numéro)
Mais là j'ai fait une modification au cas où c'était j'ai fait ensorte qu'il
n'y ait plus de formulae et uniquement la valeur mais ca ne marche toujours
pas!
je vais essayé de voir avec la remarque d'anomymous
merci beaucoup beaucoup à vous tous!
j'y retourne!


à l'endroit où je cherche ("E3:E1000") j'ai un formule qui est
=SI(D3="";"";"projet_"&B3&C3)

ce qui veut dire que si d3 = "", tu auras un truc du genre "projet_nnn.." en
[e3:e1000]..

Donc, ta variable "NOM" ressemblera à un autre truc du genre
"projet_projet_nnn..."

et find ne trouvera rien...


ou alors, c'est moi qui ne comprend rien, ce qui reste tres envisageable!...




je crois savoir pourquoi peut-être ca coince!
à l'endroit où je cherche ("E3:E1000") j'ai un formule qui est
=SI(D3="";"";"projet_"&B3&C3)
En fait si une case est vide celle ci aussi et sinon elle devient projet_
&0001 par exemple, comme ce n'est pas exactement le texte rechercher peut
être que la recherche ne peut pas fonctionner! dans ce cas puis je faire pour
que en donnant ("E3:E1000") ce soit uniquement la valeur qui soit prise en
compte??
est-ce que ce pourait-être cela mon problème??
Merci d'avance!


bonjour,
et en rajoutant un lookat:

Set c = .Find(NOM, LookIn:=xlValues, lookat:=xlwhole)

çà le ferait?



bonjour à tous
alors voilà j'ai chercher des articles sur la fonction find et j'en ai
trouvé un paquet intéressant j'ai essayé de faire mon programme avec mais je
n'est pas du bien appliquer!!
En fait ce que je fais c'est que je suis dans mon classeur projet et je
cherche dans mon classeur charge_V1 si le nom de mon classeur y est déjà
répertorié (mes fichier s'appellent projet_0001,projet_0002, etc) dans la
feuille projets dans la plage ("E2:E1000"). S'il y est (ce qui obligé) il
recopie les données que je souhaite sur la même ligne . j'ai donc fait ceci
(je ne vous met que le morceau intéressant):

nombis = Worksheets("Fiche Projet").Cells(2, 5).Text
NOM = "projet_" & nombis

'On retrouve le projet dans la base
With Workbooks("Charge_V1").Worksheets("BDB").Range("E2:E1000")
Set c = .Find(NOM, LookIn:=xlValues)
Lignedest = c.Rows
'copie des données de la fiche projet vers la feuille "projets"
Workbooks(NOM).Worksheets("fiche projet").Cells(2, 16).Copy

With Workbooks("charge_V1").Worksheets("projets")
.Range("D" & Lignedest).PasteSpecial
Paste:=xlPasteValuesAndNumberFormats
.Range("C" & Lignedest).Value = TextBox
.Range("H" & Lignedest).Value = Workbooks(NOM).Worksheets("fiche
projet").Cells(6, 5).Value
End With
End With








Avatar
Marie
voilà j'ai trouvé le problème j'ai modifié en fait il falait bien que je
spécifie l'endroit où chercher
nombis = Worksheets("Fiche Projet").Cells(2, 5).Text
NOM = "projet_" & nombis

'On retrouve le projet dans la base
For Each t In
Workbooks("Charge_V1").Worksheets("projets").Range("nom_projet_créer")
With
Workbooks("Charge_V1").Worksheets("projets").Range("nom_projet_créer")
Set c = .Find(NOM, LookIn:=xlValues, lookat:=xlWhole)
Lignedest = c.Row
'copie des données de la fiche projet vers la feuille "projets"
Workbooks(NOM).Worksheets("fiche projet").Cells(2, 16).Copy
With Workbooks("charge_V1").Worksheets("projets")
.Range("D" & Lignedest).PasteSpecial
Paste:=xlPasteValuesAndNumberFormats
.Range("A" & TextBox + 2).Value = "a"
.Range("H" & Lignedest).Value = Workbooks(NOM).Worksheets("fiche
projet").Cells(6, 5).Value
.Range("K" & Lignedest).Value = Workbooks(NOM).Worksheets("fiche
projet").Range("P4:U4").Value
.Range("L" & Lignedest).Value = Workbooks(NOM).Worksheets("fiche
projet").Cells(4, 5).Value
.Range("M" & Lignedest).Value = Workbooks(NOM).Worksheets("fiche
projet").Cells(5, 5).Value
.Range("J" & Lignedest).Value = Workbooks(NOM).Worksheets("fiche
projet").Cells(3, 5).Value
.Range("I" & Lignedest).Value = Workbooks(NOM).Worksheets("fiche
projet").Range("P3:U3").Value
End With
End With
Next

voilà ouf! Merci à tous pour vos gros coups de main ! :-D!!!!!!!!!!
Ca marche j'espère que ca va durer!!



bonjour,

s'il y a plantage c'est parce que Find ne trouve pas l'item recherché. En
effet dans ce cas, c vaut nothing et il ne peut être possible d'utiliser une
propriété rows sur un objet dont l'affectation est nothing.
Dans le cas contraire, lignedest serait renseigné, bien que dans ce cas
l'instruction la plus adhoc pour récupérer le N° de la ligne où se trouve c
soit plutot c.row ( en effet , c.rows , dans le cas ou c est un range d'une
seule cellule , renvoie la valeur de c mais pas le N° de la ligne)

Je t'invite donc à rechercher avant toute chose pourquoi ta méthode find ne
détecte pas l'item .

A+


Non ce ne fonctionne toujours pas avec "lookat:=xlwhole"
mais qu'est-ce que c'est il n'y pas d'aide sur ces mots??
Merci encore Stanislas de vous penchez sur mon problème :-)


bonjour,
et en rajoutant un lookat:

Set c = .Find(NOM, LookIn:=xlValues, lookat:=xlwhole)

çà le ferait?



bonjour à tous
alors voilà j'ai chercher des articles sur la fonction find et j'en ai
trouvé un paquet intéressant j'ai essayé de faire mon programme avec mais je
n'est pas du bien appliquer!!
En fait ce que je fais c'est que je suis dans mon classeur projet et je
cherche dans mon classeur charge_V1 si le nom de mon classeur y est déjà
répertorié (mes fichier s'appellent projet_0001,projet_0002, etc) dans la
feuille projets dans la plage ("E2:E1000"). S'il y est (ce qui obligé) il
recopie les données que je souhaite sur la même ligne . j'ai donc fait ceci
(je ne vous met que le morceau intéressant):

nombis = Worksheets("Fiche Projet").Cells(2, 5).Text
NOM = "projet_" & nombis

'On retrouve le projet dans la base
With Workbooks("Charge_V1").Worksheets("BDB").Range("E2:E1000")
Set c = .Find(NOM, LookIn:=xlValues)
Lignedest = c.Rows
'copie des données de la fiche projet vers la feuille "projets"
Workbooks(NOM).Worksheets("fiche projet").Cells(2, 16).Copy

With Workbooks("charge_V1").Worksheets("projets")
.Range("D" & Lignedest).PasteSpecial
Paste:=xlPasteValuesAndNumberFormats
.Range("C" & Lignedest).Value = TextBox
.Range("H" & Lignedest).Value = Workbooks(NOM).Worksheets("fiche
projet").Cells(6, 5).Value
End With
End With