Si fonction find ne trouve pas comment faire
Résolu
rvz
Messages postés
35
Statut
Membre
-
dandypunk Messages postés 838 Statut Membre -
dandypunk Messages postés 838 Statut Membre -
Bonjour,
Désespéré !!!
Absolument pas moi comprendre 2 soirée que je bud
i = ActiveSheet.[c3].Value
If [zz:b10000].Find(i, range("zz")([zz:b10000].Count), xlValues, xlWhole, , xlNext, False).Select = i Then
ActiveCell.EntireRow.Copy [a3]
[zz:b10000].Find(i, range("zz")([zz:b10000].Count), xlValues, xlWhole, , xlNext, False).Select
ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate
ActiveWorkbook.Names.Add Name:="zz1", RefersToR1C1:=ActiveCell
Else: [a3]
End If
Tout va bien si la valeur de i est trouvé mais quand elle ne trouve pas message d'erreur !!!
Je ne comprends pas aidez moi svp si vous le pouvez !!!
Désespéré !!!
Absolument pas moi comprendre 2 soirée que je bud
i = ActiveSheet.[c3].Value
If [zz:b10000].Find(i, range("zz")([zz:b10000].Count), xlValues, xlWhole, , xlNext, False).Select = i Then
ActiveCell.EntireRow.Copy [a3]
[zz:b10000].Find(i, range("zz")([zz:b10000].Count), xlValues, xlWhole, , xlNext, False).Select
ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate
ActiveWorkbook.Names.Add Name:="zz1", RefersToR1C1:=ActiveCell
Else: [a3]
End If
Tout va bien si la valeur de i est trouvé mais quand elle ne trouve pas message d'erreur !!!
Je ne comprends pas aidez moi svp si vous le pouvez !!!
A voir également:
- Fonction find vba
- Fonction si et - Guide
- Find and mount - Télécharger - Récupération de données
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
6 réponses
La méthode .Find retourne la valeur Nothing si elle ne trouve rien.
Il fout alors créer une condition
If .find is Nothing
ou créer un select/case avec un CASE nothing qui t'envoi sur "la suite" et un case ELSE qui continue ton applic normalement
Il fout alors créer une condition
If .find is Nothing
ou créer un select/case avec un CASE nothing qui t'envoi sur "la suite" et un case ELSE qui continue ton applic normalement
Essayes avec un On error Goto au début deta procédure.
On Error GOTO NonTrouve
'Pocedure
NonTrouvé:
Msgbox("Pas de résultat pour votre question",vbOKOnly+vbExclamation)
End sub
On Error GOTO NonTrouve
'Pocedure
NonTrouvé:
Msgbox("Pas de résultat pour votre question",vbOKOnly+vbExclamation)
End sub
Non en fait i est un nom que je cherche dans la colonne b.
Malheureusement,quand find ne trouve pas je suis en erreur.
Donc je rajoute if pour dire que si = i then accompli la macro
et que pour else en fait je m'en fiche un peu,c'est pour celà que je sélectionne une cellule.
Mais surprise et pourtant je mouline,find me met toujours en erreur.
Je reste logique mais quelque chose m'échappe mais quoi ?
Pour info, la macro complête est :
i = ActiveSheet.[c3].Value
y = 12
For n = 1 To y
Sheets(n).Select
ActiveWorkbook.Names("zz").Delete
[b7:b10000].Find(i, range("b7")([b7:b10000].Count), xlValues, xlWhole, , xlNext, False).Select
ActiveCell.EntireRow.Copy [a2]
[b7:b10000].Find(i, range("b7")([b7:b10000].Count), xlValues, xlWhole, , xlNext, False).Select
ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate
ActiveWorkbook.Names.Add Name:="zz", RefersToR1C1:=ActiveCell
If [zz:b10000].Find(i, range("zz")([zz:b10000].Count), xlValues, xlWhole, , xlNext, False).Select = i Then
ActiveCell.EntireRow.Copy [a3]
[zz:b10000].Find(i, range("zz")([zz:b10000].Count), xlValues, xlWhole, , xlNext, False).Select
ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate
ActiveWorkbook.Names.Add Name:="zz1", RefersToR1C1:=ActiveCell
Else: [a3]
End If
Next
La deuxième recherche me met en erreur si elle ne trouve pas le i dans seconde partie (dans la première elle va obligatoirement trouvé)
Donc si solution ce serait extrêmement cool svp car j'aime apprendre mais 2 soirée la dessus je commence à ne plus savoir.
Malheureusement,quand find ne trouve pas je suis en erreur.
Donc je rajoute if pour dire que si = i then accompli la macro
et que pour else en fait je m'en fiche un peu,c'est pour celà que je sélectionne une cellule.
Mais surprise et pourtant je mouline,find me met toujours en erreur.
Je reste logique mais quelque chose m'échappe mais quoi ?
Pour info, la macro complête est :
i = ActiveSheet.[c3].Value
y = 12
For n = 1 To y
Sheets(n).Select
ActiveWorkbook.Names("zz").Delete
[b7:b10000].Find(i, range("b7")([b7:b10000].Count), xlValues, xlWhole, , xlNext, False).Select
ActiveCell.EntireRow.Copy [a2]
[b7:b10000].Find(i, range("b7")([b7:b10000].Count), xlValues, xlWhole, , xlNext, False).Select
ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate
ActiveWorkbook.Names.Add Name:="zz", RefersToR1C1:=ActiveCell
If [zz:b10000].Find(i, range("zz")([zz:b10000].Count), xlValues, xlWhole, , xlNext, False).Select = i Then
ActiveCell.EntireRow.Copy [a3]
[zz:b10000].Find(i, range("zz")([zz:b10000].Count), xlValues, xlWhole, , xlNext, False).Select
ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate
ActiveWorkbook.Names.Add Name:="zz1", RefersToR1C1:=ActiveCell
Else: [a3]
End If
Next
La deuxième recherche me met en erreur si elle ne trouve pas le i dans seconde partie (dans la première elle va obligatoirement trouvé)
Donc si solution ce serait extrêmement cool svp car j'aime apprendre mais 2 soirée la dessus je commence à ne plus savoir.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Non, un Msgbox("Pas de résultat pour votre question",vbOKOnly+vbExclamation) ne me convient pas,il faut que la macro passe à la suite automatiquement sans poser de question qu'elle trouve ou non.La suite de ce que j'ai écrit étant une nouvelle condition à partir de zz1 qui est une cellule de la colonne b.
Je ne sais pas pourquoi je bloque la dessus,c'est trop bête.
Je ne sais pas pourquoi je bloque la dessus,c'est trop bête.