Recherche pour compilation

Résolu/Fermé
gilou - 20 janv. 2009 à 11:29
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 20 janv. 2009 à 19:17
Bonjour,
j'ai 10fichiers xls contenant chacun dans la col B un certain nombre de fois la valeur "AB4" j'aimerai faire un fichier nommé recap qui comptabiliserait cette valeur ; la valeur s'afficherait en ("c2") par exemple
n b pour chaque fichiers j'ai deja le nb de fois "ab4" : sommeprod(--(b2;b150="ab4") il est possible recuperer cette val
pour lacompiler dans recap pouvez vous me fournir les 2versions
1) recherche directe dans la col B de chaque fichier et addition
2) extraction et addition des 10 valeurs sommeprod
je prefererai une methode vba car j'ai deja taté collage spe avc liaison
merci d'avance
A voir également:

4 réponses

Raymond PENTIER Messages postés 58385 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 15 avril 2024 17 086
20 janv. 2009 à 14:19
1) C'est épuisant de déchiffrer des messages ayant plein d'abréviations style SMS. J'ai bien failli ne pas arriver jusqu'au bout de la lecture de ton message !
2) Dans quelles cellules se trouvent tes décomptes ? Est-ce par exemple la cellule C151 dans chaque feuille (sauf la récap), ou est-ce dans des cellules différentes selon le fichier ?
3) Est-il indispensable que tu travailles sur 11 fichiers distincts ? Serait-ce gênant d'avoir un seul fichier de 11 feuilles ?
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
20 janv. 2009 à 14:35
Bonjour Gilou, Raymond

pour une solution en VBA, il faudrait que tu précises:
1/ tes fichiers "source" sont ils dans le m^me dossier (répertoire) ?
2/ quel est le nom de l'onglet qui contient ta formule en "ab4" ?

0
bonjour ,et merci de me repondre
tout d'abord un coucou a Raymond qui à du se gourer de message ,parce que moi ,à 52ans je ne maitrise pas le language sms ,de plus , je m'attache à eviter les fautes d'othographe .En qualité de lecteur du site ,il est vrai que par moments on se demande si il y a encore des ecoles en France . Revenons à nos moutons
)non ce ne serait point genant de tout mettre dans le meme fichier et,ensuite de renomer les onglets . Mais etant qu'il sont tous sur le bureau( c'est tellement plus commode);cela me generait un peu (pas beaucoup) de tout chambouler . Neanmoins si il le faut..... D'ailleurs , je peux très bien creer un fichier special tout en gardant ceux de mon bureau ; la mise à jour (peu frequente) restant à ma charge . A ce stade est-il utile de faire un code pour "compiler ,alors qu'une simple addition de feuille à feuille suffit
)la cellule (et non pas cel ) de decompte est toujours à la meme position ("K20")
maintenant à Michel_m
1) oui mes fichiers sont tous dans le meme repertoire : c:/document and setting/cer/bureau ; les noms sont sv1.xls,sv2.xls , sv 3 . xlls ainsi de suite...
2)l'onglet de la feuille est (feuil 1) ceci pour chaque fichier
En fait ce qui m'interesse ,surtout , c'est de savoir comment aller chercher une valeur definie sheets(1).range("K20") dans plusieurs fichiers afin de faire un recapitulatif (d'ou le nom recap )
meilleurs voeux à tous bonjour à Mike_31
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
20 janv. 2009 à 17:41
Re,
re,

conditions:
le fichier " consolidation.xls" (ou compilation) doit être dans le dossier que sv1, sv2...
ce sont les seuls fichiers qui sont doivent être présents dans ce dossier
sv1, sv2... sont fermés


Sub consolider()
Dim total As Long, nbre As Long
Dim chemin As String, onglet As String
Dim fich As String

onglet = "feuil1"
chemin = ThisWorkbook.Path

ChDir chemin

fich = Dir("*.xls")
While fich <> ""
    If fich <> "consolidation.xls" Then
    nbre = ExecuteExcel4Macro("'" & chemin & "\[" & fich & "]" & onglet & "'!R20C11") 'R20C11==>cellule K20
    total = total + nbre
End If
fich = Dir
Wend

Range("C2") = total
End Sub


ci joint tite démo
http://www.cijoint.fr/cjlink.php?file=cj200901/cijKSCBFXf.zip
0
bonsoir
merci c'est ce que je voulais faire avez-vous remarqué que gilou s'est amelioré en termes de clarte
au fait en attendant votre reponse j'ai repondu au cas du nom prenom date +6semaines ( donnees acces) je voudrais savoir ce que Raymond Pentier en pense
encore merci à tout les 2 mettre en resolu
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303 > gilou
20 janv. 2009 à 19:17
OK pour la clarté!... j'voulais aussi rattraper le coup pour de meilleurs rapports ;-)

Pour le mail que tu cites, y'a rien à espèrer, le gars fait pratiquement un copier-coller de son premier post: ca me rappelle l'album "les Bidochon Internautes" (à lire absolument)

Bonne soirée
0
Raymond PENTIER Messages postés 58385 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 15 avril 2024 17 086
20 janv. 2009 à 18:36
Si on veut travailler sans macro, on peut :

* Déplacer les 10 fichiers dans un fichier unique, en nommant les feuilles sv1, sv2, etc. et en créant une onzième feuille "récap"

* La formule en C2 de la feuille "récap" sera =SOMME(sv1:sv10!K20)
0