Utilisation de find...

Le
bruno
Bonjour à tous,

Dans l'exemple ci-dessous, j'utilise la 1er colonne d'un tableau à 4 colonne
pour effectuer un find sur une feuille excel.
Lorsque je trouve l'item ad hoc, pas de problème la ligne suivante me
donne le N° de ligne voulu et je peux écrire mes données en regard de la
bonne personne
Si find ne trouve rien j'ai une erreur que je voudrais traiter afin de la
renvoyer sur NEXT.
J'ai chipoté avec on error goto test1 etc (voir texte décalé) mais c'est
pas terrible.

If Not IsEmpty(TaBLODC) Then
For I = 1 To UBound(TaBLODC)

on error goto test1
Cells.Find(What:=TaBLODC(I, 1), etc.).Activate
NUMrow = Selection.Row()
Range(Cells(NUMrow, NUMcol), Cells(NUMrow, NUMcol)).Value =
TaBLODC(I, 3)

test1:

resume test10

test10
Next

Quelqu'un aurait-il une idée pour traiter l'erreur de Cells.find plus
proprement ????
Un grand merci d'avance
A++++
Bruno

  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
Jean-François Aubert
Le #1749663
Salut Bruno,

Range(Cells(NUMrow, NUMcol), Cells(NUMrow, NUMcol)).Value
étant donné que c'est 2 fois les mêmes variables, autant simplifier....


Ceci devrait aller:

If Not IsEmpty(TaBLODC) Then
For I = 1 To UBound(TaBLODC)

on error resume next
Cells.Find(What:=TaBLODC(I, 1), etc....).Activate
if err <> 0 then err = 0: goto test1
NUMrow = Selection.Row()
Cells(NUMrow, NUMcol).Value = TaBLODC(I, 3)
test1:

Next


--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"bruno" news:410fc044$0$368$
Bonjour à tous,

Dans l'exemple ci-dessous, j'utilise la 1er colonne d'un tableau à 4 colonne
pour effectuer un find sur une feuille excel.
Lorsque je trouve l'item ad hoc, pas de problème... la ligne suivante me
donne le N° de ligne voulu et je peux écrire mes données en regard de la
bonne personne...
Si find ne trouve rien... j'ai une erreur que je voudrais traiter afin de la
renvoyer sur NEXT.
J'ai chipoté avec on error goto test1... etc (voir texte décalé) mais c'est
pas terrible.

If Not IsEmpty(TaBLODC) Then
For I = 1 To UBound(TaBLODC)

on error goto test1
Cells.Find(What:=TaBLODC(I, 1), etc....).Activate
NUMrow = Selection.Row()
Range(Cells(NUMrow, NUMcol), Cells(NUMrow, NUMcol)).Value > TaBLODC(I, 3)

test1:

resume test10

test10
Next

Quelqu'un aurait-il une idée pour traiter l'erreur de Cells.find plus
proprement ????
Un grand merci d'avance
A++++
Bruno







bruno
Le #1749660
Salut Jean-François,
Un grand merci...
Voilà qu'aveuglé par un soucis...
2 solutions en une...superbe
A+++
Bruno

"Jean-François Aubert" news:
Salut Bruno,

Range(Cells(NUMrow, NUMcol), Cells(NUMrow, NUMcol)).Value
étant donné que c'est 2 fois les mêmes variables, autant simplifier....


Ceci devrait aller:

If Not IsEmpty(TaBLODC) Then
For I = 1 To UBound(TaBLODC)

on error resume next
Cells.Find(What:=TaBLODC(I, 1), etc....).Activate
if err <> 0 then err = 0: goto test1
NUMrow = Selection.Row()
Cells(NUMrow, NUMcol).Value = TaBLODC(I, 3)
test1:

Next


--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"bruno" news:410fc044$0$368$
Bonjour à tous,

Dans l'exemple ci-dessous, j'utilise la 1er colonne d'un tableau à 4
colonne


pour effectuer un find sur une feuille excel.
Lorsque je trouve l'item ad hoc, pas de problème... la ligne suivante me
donne le N° de ligne voulu et je peux écrire mes données en regard de la
bonne personne...
Si find ne trouve rien... j'ai une erreur que je voudrais traiter afin
de la


renvoyer sur NEXT.
J'ai chipoté avec on error goto test1... etc (voir texte décalé) mais
c'est


pas terrible.

If Not IsEmpty(TaBLODC) Then
For I = 1 To UBound(TaBLODC)

on error goto test1
Cells.Find(What:=TaBLODC(I, 1), etc....).Activate
NUMrow = Selection.Row()
Range(Cells(NUMrow, NUMcol), Cells(NUMrow, NUMcol)).Value > > TaBLODC(I, 3)

test1:

resume test10

test10
Next

Quelqu'un aurait-il une idée pour traiter l'erreur de Cells.find plus
proprement ????
Un grand merci d'avance
A++++
Bruno











Poster une réponse
Anonyme