Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Excel > VBA Excel

Réponse
 
Outils de la discussion
Vieux 09/10/2008, 12h34   #1 (permalink)
Nouveau membre du Club
 
Date d'inscription: novembre 2007
Messages: 70
Par défaut Sortir d'une recherche quand valeur non trouvée

Bonjour,

J'aurais besoin de savoir quel méthode peux me permettre de sortir d'une recherche lorsque la valeur que je recherche n'est pas trouvé ou ne me convient pas ...

J'utilise le code suivant pour la recherche

Code :
                
Cells.Find(What:=NumAppel, after:=ActiveCell, _
                LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
                SearchDirection:=xlNext, MatchCase:=True, SearchFormat:=False).Activate
.....
 
et cette ligne pour passer à la recherche de la valeur suivant

Code :
Cells.FindNext(after:=ActiveCell).Activate

Lorsque j'utilise cette méthode, ça tourne en boucle sans jamais se finir puisque la valeur est trouvé plusieurs fois.

Je vous toute la partie de code

Code :
 
    'Comparaison entres les infos Mobile et Fixe
    For i = 0 To UBound(appelsMatch) - 2
        For j = 2 To lignefinfixe - 1
            If Sheets(OngletMobile).Cells(j, INDICE_MAX_PLUS_UN) <> 1 Then
                NumAppel = appelsMatch(i).a_NumMobile
                
                    'Recherche sur onglet fixe
                Sheets(OngletFixe).Activate
                Cells.Find(What:=NumAppel, after:=ActiveCell, _
                LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
                SearchDirection:=xlNext, MatchCase:=True, SearchFormat:=False).Activate
                
                j = ActiveCell.Row
                
                If Abs(DateDiff("s", CDate(appelsMatch(i).a_heureMobile), CDate(Sheets(OngletFixe).Cells(j, g_colHeure)))) < 60 Then
                        'pour debug gris
                    Sheets(OngletFixe).Rows(j).Interior.ColorIndex = 15
                    Sheets(OngletMobile).Rows(i + 2).Interior.ColorIndex = 15
                    Sheets(OngletFixe).Cells(j, 85).value = i + 2
                    appelsMatch(i).a_heureFixe = Sheets(OngletFixe).Cells(j, g_colHeure)
                    appelsMatch(i).a_NumFixe = Sheets(OngletFixe).Cells(j, g_colNAppel)
                    appelsMatch(i).a_sensFixe = Sheets(OngletFixe).Cells(j, g_colAppel)
                    appelsMatch(i).a_ligneFixe = j
                    Sheets(OngletMobile).Cells(j, INDICE_MAX_PLUS_UN) = 1
                    nbAppelsMatchs = nbAppelsMatchs + 1
                    
                        'remplissage des l'onglets Fixe_txt et mobile_TXT
                    rempli_onglet_FM_Txt i + 2, j
                    Exit For
                Else
                    Cells.FindNext(after:=ActiveCell).Activate
                    j = ActiveCell.Row
                End If
            End If
        Next j
    Next i
 
SVP ? Un peu d'aide même un indice m'aiderait bien .... c'est assez urgent.

Merci
Misha est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/10/2008, 12h42   #2 (permalink)
Membre habitué
 
Avatar de Ormonth
 
Date d'inscription: février 2008
Localisation: Loire Atlantique
Messages: 164
Par défaut

Bonjour,

vois ici :

http://www.developpez.net/forums/d62...eurs-celulles/

cordialement,

Didier
__________________
Didier Gonard

N'oubliez pas de mettre : ..quand c'est le cas !
Ormonth est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/10/2008, 12h43   #3 (permalink)
Nouveau membre du Club
 
Date d'inscription: novembre 2007
Messages: 70
Par défaut

je vous donne des exemple de données

Coté Fixe
Appel Type E/S Heure
1 Fixe E 14:29:12
2 Fixe E 14:32:13
1 Fixe E 14:51:52
2 Fixe E 14:54:51
3 Fixe S 14:57:54
4 Fixe E 15:01:06
......
38 Fixe E 18:22:17
39 Fixe S 18:25:18
40 Fixe E 18:28:30
41 Fixe E 18:31:31
42 Fixe S 18:34:32
43 Fixe E 18:36:32
44 Fixe E 18:40:45
45 Fixe S 18:43:46
46 Fixe E 18:46:59



Coté Mobile :
Appel Type E/S Heure
1 Automate S 14:29:05
1 Automate S 14:51:43
2 Automate S 14:54:44
3 Automate E 14:58:08
4 Automate S 15:00:59
....
38 Automate S 18:22:10
39 Automate E 18:25:30
40 Automate S 18:28:24
41 Automate S 18:31:24
42 Automate E 18:34:44
43 Automate S 18:37:38
44 Automate S 18:40:38
45 Automate E 18:43:58
46 Automate S 18:46:52
Misha est déconnecté   Envoyer un message privé Réponse avec citation
NEWS MS-OFFICEFAQs OFFICETUTORIELS OFFICELIVRES OFFICESOURCES VBAACCESS

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Excel > VBA Excel

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide