Dans un répertoire c:\classeurs j'ai 20 Classeurs xls ( nommés
Fich1.xls;fich2.xls;fich3.xls etc) contenant une seule feuille et des
valeurs ( n° de série) ( sans lignes vides) dans la Colonne A.de chaque
classeur ( une centaine de numéros par classeur)
Dans un autre classeur ouvert ( nommé " Fich_Synthèse.xls") il y a 2
feuilles :
- la feuille 2 comporte en colonne B une dizaine de n° de série ( par
exemple 1400; 2750 ; 3500 etc)
- La feuille 1 est vide
Le but est, par un bouton( vba) situé sur la feuil1 de ce classeur ouvert ,
d'aller chercher dans les 20 classeurs du répertoire si ces numéros existent
et dans l'affirmative les sélectionner et les recopier dans la colonne A
dela feuille 1 de mon classeur "Fich_synthèse.xls" avec ( j'abuse peut-être)
l'adresse comportant le nom du classeur le nom de la feuil et le numéro de
cellule pour chaque numéro trouvé.
pour ma part j'utilise d'habitude pour ce genre de truc dans un seul
classeur la macro suivante
For each cell1 in range ("a1:a100")
for each cell2 in range(" plage")
if cell1.value <> "" and cell1.value =cell.value then etc etc
Sub Essai() [A2:A1000].ClearContents ChDir ThisWorkbook.Path nf = Dir("y_clas*.xls") ' premier classeur Do While nf <> "" Workbooks.Open Filename:=nf For Each c In Sheets(1).Range("A1", [A65000].End(xlUp)) r = Application.Match(c, Workbooks("synthese.xls").Sheets(2).[b:b], 0) If Not IsError(r) Then
Workbooks("synthese.xls").Sheets(1).[A65000].End(xlUp).Offset(1, 0) = _ c & " " & nf & " " & Sheets(1).Name & " " & c.Address End If Next c ActiveWorkbook.Close nf = Dir ' classeur suivant Loop End Sub
http://cjoint.com/?bnt37LXFJU
Cordialement JB
Bonjour,
Dans un répertoire c:classeurs j'ai 20 Classeurs xls ( nommés Fich1.xls;fich2.xls;fich3.xls etc) contenant une seule feuille et des valeurs ( n° de série) ( sans lignes vides) dans la Colonne A.de chaq ue classeur ( une centaine de numéros par classeur)
Dans un autre classeur ouvert ( nommé " Fich_Synthèse.xls") il y a 2 feuilles : - la feuille 2 comporte en colonne B une dizaine de n° de série ( p ar exemple 1400; 2750 ; 3500 etc) - La feuille 1 est vide
Le but est, par un bouton( vba) situé sur la feuil1 de ce classeur ouve rt , d'aller chercher dans les 20 classeurs du répertoire si ces numéros e xistent et dans l'affirmative les sélectionner et les recopier dans la colonne A dela feuille 1 de mon classeur "Fich_synthèse.xls" avec ( j'abuse peut- être) l'adresse comportant le nom du classeur le nom de la feuil et le numéro de cellule pour chaque numéro trouvé.
pour ma part j'utilise d'habitude pour ce genre de truc dans un seul classeur la macro suivante
For each cell1 in range ("a1:a100") for each cell2 in range(" plage") if cell1.value <> "" and cell1.value Îll.value then etc etc
mais là ...Ca dépasse mes connaissances...
J'utilise le pack office 97
Merci pour votre aide
Bonsoir,
Sub Essai()
[A2:A1000].ClearContents
ChDir ThisWorkbook.Path
nf = Dir("y_clas*.xls") ' premier classeur
Do While nf <> ""
Workbooks.Open Filename:=nf
For Each c In Sheets(1).Range("A1", [A65000].End(xlUp))
r = Application.Match(c,
Workbooks("synthese.xls").Sheets(2).[b:b], 0)
If Not IsError(r) Then
Workbooks("synthese.xls").Sheets(1).[A65000].End(xlUp).Offset(1, 0) = _
c & " " & nf & " " & Sheets(1).Name & " " & c.Address
End If
Next c
ActiveWorkbook.Close
nf = Dir ' classeur suivant
Loop
End Sub
http://cjoint.com/?bnt37LXFJU
Cordialement JB
Bonjour,
Dans un répertoire c:classeurs j'ai 20 Classeurs xls ( nommés
Fich1.xls;fich2.xls;fich3.xls etc) contenant une seule feuille et des
valeurs ( n° de série) ( sans lignes vides) dans la Colonne A.de chaq ue
classeur ( une centaine de numéros par classeur)
Dans un autre classeur ouvert ( nommé " Fich_Synthèse.xls") il y a 2
feuilles :
- la feuille 2 comporte en colonne B une dizaine de n° de série ( p ar
exemple 1400; 2750 ; 3500 etc)
- La feuille 1 est vide
Le but est, par un bouton( vba) situé sur la feuil1 de ce classeur ouve rt ,
d'aller chercher dans les 20 classeurs du répertoire si ces numéros e xistent
et dans l'affirmative les sélectionner et les recopier dans la colonne A
dela feuille 1 de mon classeur "Fich_synthèse.xls" avec ( j'abuse peut- être)
l'adresse comportant le nom du classeur le nom de la feuil et le numéro de
cellule pour chaque numéro trouvé.
pour ma part j'utilise d'habitude pour ce genre de truc dans un seul
classeur la macro suivante
For each cell1 in range ("a1:a100")
for each cell2 in range(" plage")
if cell1.value <> "" and cell1.value =cell.value then etc etc
Sub Essai() [A2:A1000].ClearContents ChDir ThisWorkbook.Path nf = Dir("y_clas*.xls") ' premier classeur Do While nf <> "" Workbooks.Open Filename:=nf For Each c In Sheets(1).Range("A1", [A65000].End(xlUp)) r = Application.Match(c, Workbooks("synthese.xls").Sheets(2).[b:b], 0) If Not IsError(r) Then
Workbooks("synthese.xls").Sheets(1).[A65000].End(xlUp).Offset(1, 0) = _ c & " " & nf & " " & Sheets(1).Name & " " & c.Address End If Next c ActiveWorkbook.Close nf = Dir ' classeur suivant Loop End Sub
http://cjoint.com/?bnt37LXFJU
Cordialement JB
Bonjour,
Dans un répertoire c:classeurs j'ai 20 Classeurs xls ( nommés Fich1.xls;fich2.xls;fich3.xls etc) contenant une seule feuille et des valeurs ( n° de série) ( sans lignes vides) dans la Colonne A.de chaq ue classeur ( une centaine de numéros par classeur)
Dans un autre classeur ouvert ( nommé " Fich_Synthèse.xls") il y a 2 feuilles : - la feuille 2 comporte en colonne B une dizaine de n° de série ( p ar exemple 1400; 2750 ; 3500 etc) - La feuille 1 est vide
Le but est, par un bouton( vba) situé sur la feuil1 de ce classeur ouve rt , d'aller chercher dans les 20 classeurs du répertoire si ces numéros e xistent et dans l'affirmative les sélectionner et les recopier dans la colonne A dela feuille 1 de mon classeur "Fich_synthèse.xls" avec ( j'abuse peut- être) l'adresse comportant le nom du classeur le nom de la feuil et le numéro de cellule pour chaque numéro trouvé.
pour ma part j'utilise d'habitude pour ce genre de truc dans un seul classeur la macro suivante
For each cell1 in range ("a1:a100") for each cell2 in range(" plage") if cell1.value <> "" and cell1.value Îll.value then etc etc
mais là ...Ca dépasse mes connaissances...
J'utilise le pack office 97
Merci pour votre aide
JB
Bonsoir,
Sub Essai() [A2:A1000].ClearContents ChDir ThisWorkbook.Path nf = Dir("y_clas*.xls") ' premier classeur Do While nf <> "" Workbooks.Open Filename:=nf For Each c In Sheets(1).Range("A1", [A65000].End(xlUp)) r = Application.Match(c, Workbooks("synthese.xls").Sheets(2).[b:b], 0) If Not IsError(r) Then
Workbooks("synthese.xls").Sheets(1).[A65000].End(xlUp).Offset(1, 0) = _ c & " " & nf & " " & Sheets(1).Name & " " & c.Address End If Next c ActiveWorkbook.Close nf = Dir ' classeur suivant Loop End Sub
Cordialement JB
Bonjour,
Dans un répertoire c:classeurs j'ai 20 Classeurs xls ( nommés Fich1.xls;fich2.xls;fich3.xls etc) contenant une seule feuille et des valeurs ( n° de série) ( sans lignes vides) dans la Colonne A.de chaq ue classeur ( une centaine de numéros par classeur)
Dans un autre classeur ouvert ( nommé " Fich_Synthèse.xls") il y a 2 feuilles : - la feuille 2 comporte en colonne B une dizaine de n° de série ( p ar exemple 1400; 2750 ; 3500 etc) - La feuille 1 est vide
Le but est, par un bouton( vba) situé sur la feuil1 de ce classeur ouve rt , d'aller chercher dans les 20 classeurs du répertoire si ces numéros e xistent et dans l'affirmative les sélectionner et les recopier dans la colonne A dela feuille 1 de mon classeur "Fich_synthèse.xls" avec ( j'abuse peut- être) l'adresse comportant le nom du classeur le nom de la feuil et le numéro de cellule pour chaque numéro trouvé.
pour ma part j'utilise d'habitude pour ce genre de truc dans un seul classeur la macro suivante
For each cell1 in range ("a1:a100") for each cell2 in range(" plage") if cell1.value <> "" and cell1.value Îll.value then etc etc
mais là ...Ca dépasse mes connaissances...
J'utilise le pack office 97
Merci pour votre aide
Bonsoir,
Sub Essai()
[A2:A1000].ClearContents
ChDir ThisWorkbook.Path
nf = Dir("y_clas*.xls") ' premier classeur
Do While nf <> ""
Workbooks.Open Filename:=nf
For Each c In Sheets(1).Range("A1", [A65000].End(xlUp))
r = Application.Match(c,
Workbooks("synthese.xls").Sheets(2).[b:b], 0)
If Not IsError(r) Then
Workbooks("synthese.xls").Sheets(1).[A65000].End(xlUp).Offset(1, 0) = _
c & " " & nf & " " & Sheets(1).Name & " " & c.Address
End If
Next c
ActiveWorkbook.Close
nf = Dir ' classeur suivant
Loop
End Sub
Cordialement JB
Bonjour,
Dans un répertoire c:classeurs j'ai 20 Classeurs xls ( nommés
Fich1.xls;fich2.xls;fich3.xls etc) contenant une seule feuille et des
valeurs ( n° de série) ( sans lignes vides) dans la Colonne A.de chaq ue
classeur ( une centaine de numéros par classeur)
Dans un autre classeur ouvert ( nommé " Fich_Synthèse.xls") il y a 2
feuilles :
- la feuille 2 comporte en colonne B une dizaine de n° de série ( p ar
exemple 1400; 2750 ; 3500 etc)
- La feuille 1 est vide
Le but est, par un bouton( vba) situé sur la feuil1 de ce classeur ouve rt ,
d'aller chercher dans les 20 classeurs du répertoire si ces numéros e xistent
et dans l'affirmative les sélectionner et les recopier dans la colonne A
dela feuille 1 de mon classeur "Fich_synthèse.xls" avec ( j'abuse peut- être)
l'adresse comportant le nom du classeur le nom de la feuil et le numéro de
cellule pour chaque numéro trouvé.
pour ma part j'utilise d'habitude pour ce genre de truc dans un seul
classeur la macro suivante
For each cell1 in range ("a1:a100")
for each cell2 in range(" plage")
if cell1.value <> "" and cell1.value =cell.value then etc etc
Sub Essai() [A2:A1000].ClearContents ChDir ThisWorkbook.Path nf = Dir("y_clas*.xls") ' premier classeur Do While nf <> "" Workbooks.Open Filename:=nf For Each c In Sheets(1).Range("A1", [A65000].End(xlUp)) r = Application.Match(c, Workbooks("synthese.xls").Sheets(2).[b:b], 0) If Not IsError(r) Then
Workbooks("synthese.xls").Sheets(1).[A65000].End(xlUp).Offset(1, 0) = _ c & " " & nf & " " & Sheets(1).Name & " " & c.Address End If Next c ActiveWorkbook.Close nf = Dir ' classeur suivant Loop End Sub
Cordialement JB
Bonjour,
Dans un répertoire c:classeurs j'ai 20 Classeurs xls ( nommés Fich1.xls;fich2.xls;fich3.xls etc) contenant une seule feuille et des valeurs ( n° de série) ( sans lignes vides) dans la Colonne A.de chaq ue classeur ( une centaine de numéros par classeur)
Dans un autre classeur ouvert ( nommé " Fich_Synthèse.xls") il y a 2 feuilles : - la feuille 2 comporte en colonne B une dizaine de n° de série ( p ar exemple 1400; 2750 ; 3500 etc) - La feuille 1 est vide
Le but est, par un bouton( vba) situé sur la feuil1 de ce classeur ouve rt , d'aller chercher dans les 20 classeurs du répertoire si ces numéros e xistent et dans l'affirmative les sélectionner et les recopier dans la colonne A dela feuille 1 de mon classeur "Fich_synthèse.xls" avec ( j'abuse peut- être) l'adresse comportant le nom du classeur le nom de la feuil et le numéro de cellule pour chaque numéro trouvé.
pour ma part j'utilise d'habitude pour ce genre de truc dans un seul classeur la macro suivante
For each cell1 in range ("a1:a100") for each cell2 in range(" plage") if cell1.value <> "" and cell1.value Îll.value then etc etc
mais là ...Ca dépasse mes connaissances...
J'utilise le pack office 97
Merci pour votre aide
fa
Bonsoir
Merci JB je vais étudier ce que tu m'as indiqué
"fa" a écrit dans le message de news: 45a8a2a7$0$5096$
Bonjour,
Dans un répertoire c:classeurs j'ai 20 Classeurs xls ( nommés Fich1.xls;fich2.xls;fich3.xls etc) contenant une seule feuille et des valeurs ( n° de série) ( sans lignes vides) dans la Colonne A.de chaque classeur ( une centaine de numéros par classeur)
Dans un autre classeur ouvert ( nommé " Fich_Synthèse.xls") il y a 2 feuilles : - la feuille 2 comporte en colonne B une dizaine de n° de série ( par exemple 1400; 2750 ; 3500 etc) - La feuille 1 est vide
Le but est, par un bouton( vba) situé sur la feuil1 de ce classeur ouvert , d'aller chercher dans les 20 classeurs du répertoire si ces numéros existent et dans l'affirmative les sélectionner et les recopier dans la colonne A dela feuille 1 de mon classeur "Fich_synthèse.xls" avec ( j'abuse peut-être) l'adresse comportant le nom du classeur le nom de la feuil et le numéro de cellule pour chaque numéro trouvé.
pour ma part j'utilise d'habitude pour ce genre de truc dans un seul classeur la macro suivante
For each cell1 in range ("a1:a100") for each cell2 in range(" plage") if cell1.value <> "" and cell1.value Îll.value then etc etc
mais là ...Ca dépasse mes connaissances...
J'utilise le pack office 97
Merci pour votre aide
Bonsoir
Merci JB je vais étudier ce que tu m'as indiqué
"fa" <fa@wanadoo.fr> a écrit dans le message de news:
45a8a2a7$0$5096$ba4acef3@news.orange.fr...
Bonjour,
Dans un répertoire c:classeurs j'ai 20 Classeurs xls ( nommés
Fich1.xls;fich2.xls;fich3.xls etc) contenant une seule feuille et des
valeurs ( n° de série) ( sans lignes vides) dans la Colonne A.de chaque
classeur ( une centaine de numéros par classeur)
Dans un autre classeur ouvert ( nommé " Fich_Synthèse.xls") il y a 2
feuilles :
- la feuille 2 comporte en colonne B une dizaine de n° de série ( par
exemple 1400; 2750 ; 3500 etc)
- La feuille 1 est vide
Le but est, par un bouton( vba) situé sur la feuil1 de ce classeur ouvert
, d'aller chercher dans les 20 classeurs du répertoire si ces numéros
existent et dans l'affirmative les sélectionner et les recopier dans la
colonne A dela feuille 1 de mon classeur "Fich_synthèse.xls" avec (
j'abuse peut-être) l'adresse comportant le nom du classeur le nom de la
feuil et le numéro de cellule pour chaque numéro trouvé.
pour ma part j'utilise d'habitude pour ce genre de truc dans un seul
classeur la macro suivante
For each cell1 in range ("a1:a100")
for each cell2 in range(" plage")
if cell1.value <> "" and cell1.value Îll.value then etc etc
"fa" a écrit dans le message de news: 45a8a2a7$0$5096$
Bonjour,
Dans un répertoire c:classeurs j'ai 20 Classeurs xls ( nommés Fich1.xls;fich2.xls;fich3.xls etc) contenant une seule feuille et des valeurs ( n° de série) ( sans lignes vides) dans la Colonne A.de chaque classeur ( une centaine de numéros par classeur)
Dans un autre classeur ouvert ( nommé " Fich_Synthèse.xls") il y a 2 feuilles : - la feuille 2 comporte en colonne B une dizaine de n° de série ( par exemple 1400; 2750 ; 3500 etc) - La feuille 1 est vide
Le but est, par un bouton( vba) situé sur la feuil1 de ce classeur ouvert , d'aller chercher dans les 20 classeurs du répertoire si ces numéros existent et dans l'affirmative les sélectionner et les recopier dans la colonne A dela feuille 1 de mon classeur "Fich_synthèse.xls" avec ( j'abuse peut-être) l'adresse comportant le nom du classeur le nom de la feuil et le numéro de cellule pour chaque numéro trouvé.
pour ma part j'utilise d'habitude pour ce genre de truc dans un seul classeur la macro suivante
For each cell1 in range ("a1:a100") for each cell2 in range(" plage") if cell1.value <> "" and cell1.value Îll.value then etc etc