Macro recherche

Résolu/Fermé
gege44120 Messages postés 1 Date d'inscription lundi 8 juin 2020 Statut Membre Dernière intervention 8 juin 2020 - Modifié le 8 juin 2020 à 09:12
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 - 8 juin 2020 à 11:47
Je suis débutant en macro et j'essai de faire une macro pour rechercher dans un grand fichier un nom. Cela fonctionne quand le nom est présent mais pas lorsqu'il n'est pas là. Pourriez-vous m'aider dans cette finition de macro. Merci d'avance.
Ci-joint ma macro

Sub Rech_Nom()
'
' Rech_Nom Macro
    
Debut:
Rem saisie Nom
    Range("$AF2").Select
    Nom$ = InputBox$(prompt:="Entrez le Nom de la personne ou 0 pour abandonner la saisie", _
    Title:="Nom adhérent")
    longueur$ = Len(Nom$)
    If Nom$ = "0" Then
        GoTo fin
    Else
        GoTo suite
    End If
suite:
    If Nom$ = "" Then
        titre$ = "Erreur"
        Message$ = "Vous devez entrer le nom de l'adhérent !!"
        MsgBox Message$, vbCritical, titre$
        GoTo Debut
    End If
   
    Cells.Find(What:=Nom$, After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate
    DoEvents    ' Donne le contrôle à d'autres processus.
   
    End
fin:
    'Sheets("Liste Global").Activate
    Range("A2").Select
End Sub
A voir également:

2 réponses

yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
8 juin 2020 à 10:24
bonjour,
"Cela fonctionne mais pas": qu'observes-tu quand cela ne fonctionne pas?
1
Tout d'abord merci pour ta réponse. En fait quand le nom n'existe pas je reçois la boite de dialogue d'Excel avec "Débogage". En validant la zone suivante est colorié en jaune.

Cells.Find(What:=Nom$, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
1
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
8 juin 2020 à 10:56
tu reçois probablement aussi un message d'erreur: peux-tu nous le partager?
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
8 juin 2020 à 11:01
un exemple:
dim trouve as range
set trouve=Cells.Find(What:=Nom$, After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)
if not trouve is nothing then
     trouve.Activate
else
     msgbox "rien trouvé"
end if   
0
gege44120 > yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024
8 juin 2020 à 11:24
Un grand merci, cela fonctionne bien
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > gege44120
8 juin 2020 à 11:47
peux-tu alors marquer la discussion comme résolue?
0