Creer un fichier de synthese a partir de fiche Excel

Bonjour,

Je suis loin d'etre un expert en macro VBA et je viens demander votre aide car malgres des recherche sur plusieurs forum je n'arrive pas a trouver de solutions qui fonctionnent

Je souhaite chaque semaine créer une synthese (un tableau unique) qui regroupe les informations critqiues saisies dans des fiches excel

  • toutes les fiches sont dans un meme dossier dont le nom change en fonction du numero de semaine
  • le dossier est sur un disque reseau partagé
  • toutes les fiches ont le meme format ... la/les donnée(s) recherchée(s) sera toiujours dans la meme celllule
  • le nom de chaque fiche est par contre tres changeant

je cherche a automatiser

  • l'ouverture du bon dossier (en fonction du numero de la semaine)
  • l'ouverture de la premiere fiche, recuperer la valeur dans une cellule et la copier dans le tableau de synthese
  • fermeture de la fiche
  • ouverture de la suivante
  • copie de la valeur rechercher dans un nouvelle cellule du tableau (une ligne plus bas)
etc ...

j'ai trouvé des exemples de macro pour ouvre en boucle des fichiers ... mais impossible de la faire fonctionner

si l'un de vous pouvait m'aider je l'en remercie par avance

Note: j'utilise excel 2013 en anglais (si c'est important)

cdlt

Bonjour,

j'ai trouvé des exemples de macro pour ouvre en boucle des fichiers ... mais impossible de la faire fonctionner

il n'est pas nécessaire d'ouvrir un fichier pour récupérer un information ou des informations,

pouvez-vous donner plus de détail sur la disposition des informations suivante:

  • le chemin du disque réseau et le répertoire ?
  • nom des fiches ? si non connu, est ce que tous les fichiers du répertoire sont à traiter ?
  • le nom de l'onglet et l'adresse des cellules a récupérer ?

- le chemin du disque réseau et le répertoire ?

X://300/atelier/surf/checklist/weekxx avec xx qui change en fonction du numero de semaine

- nom des fiches ? si non connu, est ce que tous les fichiers du répertoire sont à traiter ?

le nom est inconnu et change completement a chaque fiche. Mais chaque fichiers xls du dossier est a traiter (sans exception)

- le nom de l'onglet et l'adresse des cellules a récupérer ?

il n'y a qu'un seul onglet dans chaque fichier excel - feuil1

Bonjour,

Pour augmenter 'considérablement' tes chances d'obtenir une aide adaptée à ta situation ...

il ne faut surtout pas hésiter à joindre ton fichier Excel ...

Bonjour

X va de 1 à 53 ou de 01 à 53 ?

78chris a écrit :

Bonjour

X va de 1 à 53 ou de 01 à 53 ?

de 01 a 53

mais les dossier sont créer au fur et a mesure donc en milieu d'année il n'y a pas de dossier week49 par exemple

Re,

Je suis curieux de savoir si tu vas pouvoir mettre la main sur une solution personnalisée ...

surtout en évitant le plus longtemps possible de joindre le format de la 'synthèse' que tu cherches à obtenir ...

Bonne Chance ...

En bon samaritain, tu peux toujours t'inspirer de ceci ...

Many thanks Steelson

ca a la'ir de fonctionner en changeant un peu de parametrage ... vraiment merci

Hello

en fait j'ai toujours un probleme (meme si cela marche dans 95% des cas )

normalement le premier onglet s'appelle DONE et c'est dans cet onglet que je doit recuperer des infos

mais parfois les techniciens qui saisissent les fiches oublient de changer l'onglet de TODO a DONE

j'ai un peu tout essayer mais dans tous les cas j'ai un message Excel "sheet doesn't exist" et ça me demande de selectionner la bonne feuille .... je suis obligé de cliquer sur ok pour que la macro continu

étant que j'ai environ300 ou 400 fiches à ouvrir par semaine ça devient vite long

j'ai essayé diverses méthodes mais impossible de m'affranchir de se « pop up »

  • si je mets DONE dans la case onglet ca bug quand la fiche s'appelle TODO
  • si je ne mets rien ca me demande un confirmation à chaque case
  • si je mets "Application.DisplayAlerts = False" ça ne change rien
  • je voulais essayer de récupérer le nom de l'onglet pour adapter la macro a chaque feuille mais vu qu'on ouvre pas vraiment le fichier je n'arrive pas à récupérer le nom du premier onglet

je suis un peu a cour d'idées

si vous avez des idées je suis preneur

30 Sep 2017, 07:53

Bonjour,

Pour augmenter 'considérablement' tes chances d'obtenir une aide adaptée à ta situation ...

il ne faut surtout pas hésiter à joindre ton fichier Excel ...

par Yaya38 » 4 Oct 2017, 14:53 ....je suis un peu a cour d'idées ....

Un fichier joint ...

Bien vu ... !!!

Il faut intervenir au niveau de cette ligne de code :

            Cells(cetteLigne, cetteColonne) = " '" & Repertoire & "\[" & fichier.Name & "]" & onglet & "'!" & cetteCellule.Value & " "

en testant le nom de l'onglet ad-hoc.

Comme dit James, j'ai dévoilé mes cartes, si tu veux davantage, aligne quelques exemples (sachant que je suis indispo pendant 15j : GB puis Suisse, donc je te laisse faire).

A mon sens la meilleure façon de faire serait de créer une bout de code qui change le nom de l'onglet avant de compiler !

oui j'avais bien identifier la ligne qui pose probleme mais je n'arrive aps a recuperer le nom de l'onglet vu que a aucun moment on ouvre le fichier

vous connaissez une commande pour recuperer le nom d'un onglet sans ouvrir le fichier?

c'est exact en effet !

reste plus qu'à ouvrir ... et faire du copier/coller

ok je vais essayer

Bonjour à tous,

voici une exemple de SilkyRoad pour vérifier la présence d'un onglet

Sub VerifierExistenceFeuille()
    'auteur: SilkyRoad
    'Nécéssite d'activer la référence Microsoft ADO ext x.x for DLL and Security
    'Nécéssite d'activer la référence Microsoft ActiveX Data Objects x.x Library
    Dim Cn As ADODB.Connection
    Dim oCat As ADOX.Catalog
    Dim Fichier As String
    Dim Feuille As ADOX.Table

    Fichier = "C:\Base.xls"

    Set Cn = New ADODB.Connection
    Set oCat = New ADOX.Catalog

    Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Fichier & _
            ";Extended Properties=Excel 8.0;"

    Set oCat.ActiveConnection = Cn

    On Error Resume Next
        'Vérifie si la feuille "Feuil1" existe dans le classeur fermé
        Set Feuille = oCat.Tables("Feuil1$")
    On Error GoTo 0

        If Feuille Is Nothing Then
         MsgBox "La feuille n'existe pas."
         Else
         MsgBox "La feuille existe."
        End If

    Set Feuille = Nothing
    Set oCat = Nothing
    Cn.Close
    Set Cn = Nothing
End Sub

Coucou Isa ...

Pour les futurs lecteurs ...

Le code que tu as posté permet de vérifier si la feuille "Feuil1" existe ... ou pas ... dans un classeur fermé ... que l'on ne veut pas ouvrir ...et auquel on accède avec ADO ....

Bonjour à tous,

James007, oui c'est exactement ça, cette macro peut être facilement transformer en function pour chaque fichier d'un path.

Édit: voir la réponse de Zebulon777 à la fin du fil.

Coucou Isa

Merci pour le lien ...

Concernant le fil ... j'ai l'impression que Yaya a dispa Ruru ...

Rechercher des sujets similaires à "creer fichier synthese partir fiche"