Recherche qui échoue car projet pas trouvé

Bonjour à tous

Dans mon fichier (plus de 1000 ligne) je recherche des projets pour en extraire les dates des différentes activités de production.

Jusque là, pas de souci.

Mon problème est que certains petits projets ne sont pas planifiés, mais ont quand même des composants à fabriquer et lorsque je faits une recherche avec le code ci-dessous, un message d'erreur apparait.

cells.Find(What:=Projet, After:=activecell, LookIn:=xlValues, LookAt _

:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase _

:=True, SearchFormat:=False).Activate

Auriez vous une astuce pour que si le projet n'existe pas dans la liste de recherche, pouvoir passer outre le bug et passer à la ligne suivante?

Je ne voudrais pas passer par une boite de dialogue qui dirai que le projet n'existe pas et avoir à répondre OK à chaque projet.

C'est ce que j'ai pour l'instant, et c'est assez fastidieux à gérer. ( des dizaines de OK à effectuer)

Voici le code:

While cells(j, 3).Value <> ""

Projet = cells(j, 4).Value

If Projet <> cells(j, 1).Value Then

deb115 = "" 'Début de la réunion d'engagement

deb98 = "" 'Début des structures ACB

deb323 = "" 'Début des parties mobiles

deb210 = "" 'Début du câblage

deb123 = "" 'Début de la personnalisation

deb405 = "" 'Début de contrôle final

fin410 = "" 'Fin emballage

Windows("EBT2.3.txt").Activate

Columns("A:A").Select

Set exi = Selection.Find(What:=Projet, After:=activecell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=True)

If exi Is Nothing Then

CreateObject("Wscript.shell").Popup ("Le projet n° " & Projet & " est absent de MS Project"), 1, "Projet non planifié"

Else

Selection.Find(What:=Projet, After:=activecell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False).Select

While activecell = Projet

If activecell.Offset(0, 1).Value = 115 Then

deb115 = activecell.Offset(0, 2).Value

Else

If activecell.Offset(0, 1).Value = 98 Then

deb98 = activecell.Offset(0, 2).Value

Else

If activecell.Offset(0, 1).Value = 323 Then

deb323 = activecell.Offset(0, 2).Value

Else

If activecell.Offset(0, 1).Value = 210 Then

deb210 = activecell.Offset(0, 2).Value

Else

If activecell.Offset(0, 1).Value = 123 Then

deb123 = activecell.Offset(0, 2).Value

Else

If activecell.Offset(0, 1).Value = 405 Then

deb405 = activecell.Offset(0, 2).Value

Else

If activecell.Offset(0, 1).Value = 410 Then

fin410 = activecell.Offset(0, 2).Value

End If

End If

End If

End If

End If

End If

End If

activecell.Offset(1, 0).Select

Wend

End If

End If

activecell.Offset(1, 0).Select

Workbooks("Avancement OF V1.xlsm").Sheets("OF").Activate

cells(j, 14).Value = deb115

cells(j, 15).Value = deb98

cells(j, 16).Value = deb323

cells(j, 17).Value = deb210

cells(j, 18).Value = deb123

cells(j, 19).Value = deb405

cells(j, 20).Value = fin410

j = j + 1

Wend

Malgré mes recherches sur le web, je ne trouve pas la solution.

Merci pour votre aide

@+

Robert

Bonjour robert,

Essaie en remplaçant :

Set exi = Selection.Find(What:=Projet, After:=activecell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=True)
If exi Is Nothing Then
CreateObject("Wscript.shell").Popup ("Le projet n° " & Projet & " est absent de MS Project"), 1, "Projet non planifié"
Else
Selection.Find(What:=Projet, After:=activecell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False).Select

par :

Set exi = Selection.Find(What:=Projet, After:=activecell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=True)
If exi Is Nothing Then
'CreateObject("Wscript.shell").Popup ("Le projet n° " & Projet & " est absent de MS Project"), 1, "Projet non planifié"
Else
exi.Select

Bonjour à tous

Merci vba-new, c'était la solution.

ça a l'air de fonctionner. Plus de boite de dialogue à valider par OK

@+

Robert

Rechercher des sujets similaires à "recherche qui echoue projet pas trouve"