Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Utilisation de find...

2 réponses
Avatar
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

2 réponses

Avatar
Jean-François Aubert
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" a écrit dans le message de
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







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

"Jean-François Aubert" <à a écrit dans le message de
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" a écrit dans le message de
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