Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

recherche chaine de caractères avec prise en compte de chaine inexistante

  • Initiateur de la discussion Initiateur de la discussion pitufo2804
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

pitufo2804

Guest
Bonjour a tous,

apres pas mal de recherches sur notre ami google, je n'obtiens pas la réponse a mon problème alors soit je cherche mal soit je suis mauvais....

j'effectue une recherche de chaine de caractères dans une colonne.
si je trouve la chaine pas de soucis mais erreur 1004 quand la chaine n'existe pas.
quand je lance le debogage, il bloque sur la ligne de recherche.
comment fait-on pour éviter ce blocage et afficher une msgbox disant que la chaine n'existe pas ?

merci pour vos réponses.
 
Re : recherche chaine de caractères avec prise en compte de chaine inexistante

Bonjour pitufo2804
L'erreur 1004 n'est pas une erreur qui provient de la recherche
en cas de nnon existance de la chaine, la recherche(find) devrait te renvoyer nothing
et la tu test si le résukltat est nothins alors message
 
Re : recherche chaine de caractères avec prise en compte de chaine inexistante

D'accord merci...
voila mon code :
Code:
Application.ScreenUpdating = False

DernLignPAMO = sheets("suivi_dossier_(3)").Range("A65536").End(xlUp).Row
DernLignCollabo = ActiveSheet.Range("A65536").End(xlUp).Row

For i = 2 To DernLignCollabo

    Nom = ActiveSheet.Range("A" & i).Value
    ActiveSheet.Rows(i).Copy
    NomPAMO = sheets("suivi_dossier_(3)").Columns(1).Find(Nom, _
        lookat:=xlWhole)
    If NomPAMO Is Nothing Then
    MsgBox ("inexistant")
    Else
    LigneNomPAMO = sheets("suivi_dossier_(3)").Columns(1).Find(Nom, _
        lookat:=xlWhole).Row
    sheets("suivi_dossier_(3)").Range("A" & LigneNomPAMO).PasteSpecial
    End If
        
Next i

d'ou pourrai venir le soucis alors ?
 
Re : recherche chaine de caractères avec prise en compte de chaine inexistante

C'est bon j'ai trouvé ! Merci pour ton indication 😉
voila le code :
Code:
Application.ScreenUpdating = False

DernLignPAMO = sheets("suivi_dossier_(3)").Range("A65536").End(xlUp).Row
DernLignCollabo = ActiveSheet.Range("A65536").End(xlUp).Row
Dim NomPAMO As Object
For i = 2 To DernLignCollabo

    Nom = ActiveSheet.Range("A" & i).Value
    ActiveSheet.Rows(i).Copy
    Set NomPAMO = sheets("suivi_dossier_(3)").Columns(1).Find(Nom, _
        lookat:=xlWhole)
    If NomPAMO Is Nothing Then
    MsgBox ("inexistant")
    Else
    LigneNomPAMO = sheets("suivi_dossier_(3)").Columns(1).Find(Nom, _
        lookat:=xlWhole).Row
    sheets("suivi_dossier_(3)").Range("A" & LigneNomPAMO).PasteSpecial
    End If
    
    
Next i
 
Re : recherche chaine de caractères avec prise en compte de chaine inexistante

Voici le principe
la fonction find renvoi un objet i (set i)
et je test si l'objet est nothing

Sub deb()
Set i = ActiveSheet.UsedRange.Find("a")
If i Is Nothing Then MsgBox "innexistant"
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…