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

gestion des erreurs

4 réponses
Avatar
Bidou
Bonjour,


Bonjour,



Dans le code trouvé sur ce forum (et dont je n'ai plus le nom d'auteur,
qu'il m'en excuse)je n'arrive pas à intégrer un msgbox "la valeur recherchée
ne figure pas dans les classeurs"

[a2:a1000].clearcontents
chdir thisworkbook.path
nf = dir("mvt*.xls") ' premier classeur
do while nf <> ""
workbooks.open filename:=nf
for each c in sheets(1).range("a1", [a65536].end(xlup))
r = application.match(c, workbooks("synthese.xls").sheets(2).[b1:b30],
0)
if not iserror(r) then
workbooks("synthese.xls").sheets(1).[a65536].end(xlup).offset(1, 0)
= _
c & " " & nf & " " & sheets(1).name & " " & c.address
end if
next c
activeworkbook.close
nf = dir ' classeur suivant
loop

Merci pour votre aide

4 réponses

Avatar
LSteph
Bonjour,

Dim start as long

start=workbooks("synthese.xls").sheets(1).[a65536].end(xlup).row

'....ton code jusqu'au loop inclus
if workbooks("synthese.xls").sheets(1).[a65536].end(xlup).row=start then
msgbox "ne figure pas dans ces classeurs"
end if

Cordialement.

--
lSteph

Bonjour,


Bonjour,



Dans le code trouvé sur ce forum (et dont je n'ai plus le nom d'auteur,
qu'il m'en excuse)je n'arrive pas à intégrer un msgbox "la valeur recherchée
ne figure pas dans les classeurs"

[a2:a1000].clearcontents
chdir thisworkbook.path
nf = dir("mvt*.xls") ' premier classeur
do while nf <> ""
workbooks.open filename:=nf
for each c in sheets(1).range("a1", [a65536].end(xlup))
r = application.match(c, workbooks("synthese.xls").sheets(2).[b1:b30],
0)
if not iserror(r) then
workbooks("synthese.xls").sheets(1).[a65536].end(xlup).offset(1, 0)
= _
c & " " & nf & " " & sheets(1).name & " " & c.address
end if
next c
activeworkbook.close
nf = dir ' classeur suivant
loop

Merci pour votre aide




Avatar
bidou
Bonjour

Merci de ton aide mais peux tu m'expliquer la commande s'il te plait parce
que j'ai rien compris...


"LSteph" a écrit dans le message de news:

Bonjour,

Dim start as long

start=workbooks("synthese.xls").sheets(1).[a65536].end(xlup).row

'....ton code jusqu'au loop inclus
if workbooks("synthese.xls").sheets(1).[a65536].end(xlup).row=start then
msgbox "ne figure pas dans ces classeurs"
end if

Cordialement.

--
lSteph

Bonjour,


Bonjour,



Dans le code trouvé sur ce forum (et dont je n'ai plus le nom d'auteur,
qu'il m'en excuse)je n'arrive pas à intégrer un msgbox "la valeur
recherchée ne figure pas dans les classeurs"

[a2:a1000].clearcontents
chdir thisworkbook.path
nf = dir("mvt*.xls") ' premier classeur
do while nf <> ""
workbooks.open filename:=nf
for each c in sheets(1).range("a1", [a65536].end(xlup))
r = application.match(c,
workbooks("synthese.xls").sheets(2).[b1:b30], 0)
if not iserror(r) then
workbooks("synthese.xls").sheets(1).[a65536].end(xlup).offset(1,
0) = _
c & " " & nf & " " & sheets(1).name & " " & c.address
end if
next c
activeworkbook.close
nf = dir ' classeur suivant
loop

Merci pour votre aide




Avatar
LSteph
...

On définit une variable dans laquelle on place le 'numéro de ligne' de
la dernière cellule

Dans la mesure où la recherche aboutit, le code va écrire en dessous de
cette cellule.
Au contraire si ce 'numéro de ligne' est toujours le même à la fin de
l'exécution , c'est que rien a été trouvé,..!
On peut donc afficher le message pour en informer l'utilisateur.

Cordialement.

--
lSteph

Bonjour

Merci de ton aide mais peux tu m'expliquer la commande s'il te plait parce
que j'ai rien compris...


"LSteph" a écrit dans le message de news:

Dim start as long

start=workbooks("synthese.xls").sheets(1).[a65536].end(xlup).row

'....ton code jusqu'au loop inclus
if workbooks("synthese.xls").sheets(1).[a65536].end(xlup).row=start then
msgbox "ne figure pas dans ces classeurs"
end if




Avatar
Bidou
Merci Lsteph pour tes explications

"LSteph" a écrit dans le message de news:

...

On définit une variable dans laquelle on place le 'numéro de ligne' de la
dernière cellule

Dans la mesure où la recherche aboutit, le code va écrire en dessous de
cette cellule.
Au contraire si ce 'numéro de ligne' est toujours le même à la fin de
l'exécution , c'est que rien a été trouvé,..!
On peut donc afficher le message pour en informer l'utilisateur.

Cordialement.

--
lSteph

Bonjour

Merci de ton aide mais peux tu m'expliquer la commande s'il te plait
parce que j'ai rien compris...


"LSteph" a écrit dans le message de news:

Dim start as long

start=workbooks("synthese.xls").sheets(1).[a65536].end(xlup).row

'....ton code jusqu'au loop inclus
if workbooks("synthese.xls").sheets(1).[a65536].end(xlup).row=start then
msgbox "ne figure pas dans ces classeurs"
end if